คุณจะสร้างสาขา Git ระยะไกลได้อย่างไร


3129

ฉันสร้างสาขาท้องถิ่นที่ฉันต้องการ 'ดัน' ต้นน้ำ มีคำถามที่คล้ายกันที่นี่ใน Stack Overflow เกี่ยวกับวิธีการติดตามสาขาระยะไกลที่สร้างขึ้นใหม่

อย่างไรก็ตามกระบวนการทำงานของฉันแตกต่างกันเล็กน้อย ก่อนอื่นฉันต้องการสร้างสาขาท้องถิ่นและฉันจะผลักสาขาต้นน้ำเมื่อฉันพอใจและต้องการแบ่งปันสาขาของฉัน

  • ฉันจะทำอย่างไร (การค้นหา google ของฉันไม่ได้เกิดขึ้นกับอะไร)
  • ฉันจะบอกให้เพื่อนร่วมงานของฉันดึงมันจากที่เก็บข้อมูลต้นน้ำได้อย่างไร

อัปเดตด้วย Git 2.0 มีคำตอบที่ง่ายกว่าที่ฉันเขียนด้านล่าง: https://stackoverflow.com/a/27185855/109305


14
มีใครเคยตอบคำถามที่สองของคุณบ้างไหม >> และฉันจะบอกเพื่อนร่วมงานของฉันให้ดึงมันออกมาจากแหล่งเก็บข้อมูลต้นน้ำได้อย่างไร
milkplus

ที่เกี่ยวข้องอาจเป็นไปได้: Pro Git: 3.5 Git กิ่ง - สาขาระยะไกล

1
@milkplus get fetch --allดึงสาขาใหม่บนด้านระยะไกล (แต่get fetch --pruneลบเฉพาะการอ้างอิงไปยังสาขาระยะไกลที่ถูกลบในเครื่อง) ฉันคิดว่าควรตั้งค่านี้โดยอัตโนมัติหรือคุณต้องพูดกับพวกเขาด้วยวาจา
peterh - Reinstate Monica

คำตอบ:


3732

ก่อนอื่นคุณสร้างสาขาของคุณในพื้นที่:

git checkout -b <branch-name> # Create a new branch and check it out

สาขาระยะไกลจะถูกสร้างขึ้นโดยอัตโนมัติเมื่อคุณผลักดันมันไปยังเซิร์ฟเวอร์ระยะไกล ดังนั้นเมื่อคุณรู้สึกว่าพร้อมคุณก็ทำได้:

git push <remote-name> <branch-name> 

<remote-name>โดยทั่วไปที่ไหนoriginชื่อที่คอมไพล์ให้กับรีโมตที่คุณโคลน เพื่อนร่วมงานของคุณก็จะดึงสาขานั้นและมันจะสร้างขึ้นในเครื่องโดยอัตโนมัติ

อย่างไรก็ตามโปรดทราบว่ารูปแบบคือ:

git push <remote-name> <local-branch-name>:<remote-branch-name>

แต่เมื่อคุณเว้นชื่อไว้จะถือว่าชื่อทั้งสองเป็นชื่อเดียวกัน ต้องบอกว่านี่เป็นคำเตือนอย่าทำผิดพลาดร้ายแรงในการระบุเท่านั้น:<remote-branch-name>(ด้วยเครื่องหมายโคลอน) มิฉะนั้นสาขาจะถูกลบ!

เพื่อที่ตามมาgit pullจะรู้ว่าจะทำอย่างไรคุณอาจต้องการใช้:

git push --set-upstream <remote-name> <local-branch-name> 

ตามที่อธิบายไว้ด้านล่าง--set-upstreamตัวเลือกตั้งค่าสาขาต้นน้ำ:

สำหรับทุกสาขาที่เป็นข้อมูลล่าสุดหรือถูกผลักสำเร็จให้เพิ่มการอ้างอิง upstream (การติดตาม) ที่ใช้โดยคำสั่ง git-pull (1) และอาร์กิวเมนต์อื่นที่ไม่ใช้อาร์กิวเมนต์


85
โปรดทราบว่าการทำงานเริ่มต้นของคอมไพล์คือการผลักดันการจับคู่ refs ดังนั้นจะไม่ผลักดันสาขาถ้ามันไม่ได้อยู่บนgit push <remote> <remote>
Jakub Narębski

222
คุณอาจต้องการใช้git push -u <remote-name> <branch-name>แทนเพื่อที่ตามมาgit pullจะได้รู้ว่าต้องทำอะไร
Bart Schuller

87
แทนการอย่างชัดเจนระบุชื่อเซิร์ฟเวอร์คุณก็สามารถใช้originซึ่งหมายความว่า "เซิร์ฟเวอร์ผมได้ส่วนที่เหลือของธุรกรรมซื้อคืนนี้จาก" git push origin <branch-name>จึง
lambshaanxy

68
หากคุณลืมที่จะใช้-uตัวเลือกคุณสามารถพิมพ์git push -uหลังจากนั้นในสาขาจากนั้นgit pullจะทำงาน
ม.ค.

90
การรวมทั้งหมดเข้าด้วยกันgit push -u origin <local-branch-name>เป็นสิ่งที่ใช้ได้ผลสำหรับฉัน
Samo

881

ก่อนอื่นคุณต้องสร้างสาขาของคุณในพื้นที่

git checkout -b your_branch

หลังจากนั้นคุณสามารถทำงานในสาขาของคุณเมื่อคุณพร้อมที่จะแบ่งปันสาขาให้กด คำสั่งถัดไปดันสาขาไปยังที่เก็บระยะไกลและติดตาม

git push -u origin your_branch

เพื่อนร่วมทีมสามารถไปถึงสาขาของคุณโดยทำ:

git fetch
git checkout origin/your_branch

คุณสามารถทำงานในสาขาและผลักดันเมื่อใดก็ตามที่คุณต้องการโดยไม่ต้องผ่านการขัดแย้งเพื่อผลักดัน Git (กด Git ไม่ต้องโต้เถียงจะผลักต้นแบบไปยังต้นแบบระยะไกล your_branch ท้องถิ่นเพื่อ your_branch ระยะไกล ฯลฯ ... )

git push

เพื่อนร่วมทีมสามารถผลักดันไปยังสาขาของคุณด้วยการกระทำและจากนั้นผลักดันอย่างชัดเจน

... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch

หรือติดตามสาขาเพื่อหลีกเลี่ยงการขัดแย้งเพื่อ git push

git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push

มีวิธีในการสร้างสาขาระยะไกลโดยไม่ต้องสร้างสาขาท้องถิ่นที่มีชื่อเดียวกันหรือไม่?
Ariel Gabizon

330

Simple Git 2.0+ solution:

ในฐานะของGit 2.0 พฤติกรรมนั้นง่ายขึ้น :

คุณสามารถกำหนดค่า git ด้วยpush.default = currentเพื่อทำให้ชีวิตง่ายขึ้น:

ฉันเพิ่มสิ่งนี้ดังนั้นตอนนี้ฉันสามารถผลักสาขาใหม่ด้วย

$ git push -u

-uจะติดตามสาขาระยะไกลที่มีชื่อเดียวกัน ตอนนี้ด้วยการกำหนดค่านี้คุณจะเดาการอ้างอิงจากระยะไกลไปยัง git push ได้โดยอัตโนมัติ จากเอกสาร git.config :

push.default

กำหนดการกระทำ git push ควรดำเนินการหากไม่มีการระบุ refspec อย่างชัดเจน

push.default = current- ผลักดันสาขาปัจจุบันเพื่ออัปเดตสาขาที่มีชื่อเดียวกันกับจุดสิ้นสุดการรับ ทำงานได้ทั้งในส่วนกลางและไม่ใช่เวิร์กโฟลว์

สำหรับฉันนี่คือการลดความซับซ้อนที่ดีของเวิร์กโฟลว์ Git ประจำวันของฉัน การตั้งค่ากำหนดดูแลกรณีการใช้ 'ปกติ' ที่คุณเพิ่มสาขาในเครื่องและต้องการสร้างจากระยะไกล นอกจากนี้ฉันยังสามารถสร้างสาขาท้องถิ่นจากรีโมตได้อย่างง่ายดายเพียงแค่ทำgit co remote_branch_name(ตรงข้ามกับการใช้--set-upstream-toแฟล็ก)

ฉันรู้ว่าคำถามนี้และคำตอบที่ยอมรับนั้นค่อนข้างเก่า แต่พฤติกรรมนั้นเปลี่ยนไปดังนั้นขณะนี้มีตัวเลือกการกำหนดค่าเพื่อให้เวิร์กโฟลว์ของคุณง่ายขึ้น

หากต้องการเพิ่มในการกำหนดค่าโกลบอล Git ของคุณให้รันสิ่งนี้บนบรรทัดคำสั่ง:

$ git config --global push.default current

5
ฉันพบgit push -u origin HEADว่าตอบที่นี่ verbose อีกเล็กน้อย (คุณเขียนสิ่งที่คุณกำลังทำ) โดยไม่ต้องพิมพ์มากเกินไป นอกจากนี้git push -uไม่มีข้อโต้แย้งเพิ่มเติมไม่ได้ผลสำหรับฉันถ้าสาขาถูกสร้างขึ้นด้วย-t
Qw3ry

git config --global push.default upstream && git checkout -b foo && <change a file> && git push -uไม่ทำงาน (เหมือน git 2.19.1); push ต้องการอาร์กิวเมนต์ระยะไกลและสาขา
knite

คุณช่วยขยายความหมายของคุณได้git co remote_branch_nameไหม?
flannelbeard

84

ตามที่ระบุไว้ในคำตอบก่อนหน้า

git push <remote-name> <local-branch-name>:<remote-branch-name>

ก็เพียงพอแล้วสำหรับการผลักสาขาในท้องถิ่น

เพื่อนร่วมงานของคุณสามารถดึงสาขาระยะไกลทั้งหมด (รวมถึงสาขาใหม่) ด้วยคำสั่งนี้:

git remote update

จากนั้นเพื่อทำการเปลี่ยนแปลงในสาขาการไหลปกติ:

git checkout -b <local-branch-name> <remote-name>/<remote-branch-name>

ฉันชอบสาเหตุนี้ทำให้ชื่อระยะไกลแตกต่างจากชื่อในท้องที่
Ariel Gabizon

66

สร้างสาขาใหม่แบบโลคัลโดยยึดตามสาขาปัจจุบัน:

git checkout -b newbranch

ยอมรับการเปลี่ยนแปลงใด ๆ ตามปกติ จากนั้นผลักดันอัปสตรีม:

git push -u origin HEAD

นี่คือช็อตคัตที่จะพุชสาขาปัจจุบันไปยังสาขาที่มีชื่อเดียวกันoriginและติดตามเพื่อที่คุณไม่จำเป็นต้องระบุorigin HEADในอนาคต


4
สิ่งนี้ช่วยในกรณีของฉัน: git push -u origin HEAD. ฉันคิดว่ามันเป็นวิธีที่ชัดเจนที่สุด
Scadge

2
ใช่คุณไม่เคยจำสิ่งที่คุณพิมพ์ครั้งสุดท้ายเป็นสาขาดังนั้นนี่คือวิธีที่จะไป
markyzm

4
@marksyzm หากคุณจำไม่ได้ว่าสาขาไหนอยู่หรือชื่ออะไรคุณคงไม่ควรกดเลย! อย่างน้อยก็ไม่ใช่โดยไม่ต้องวิ่งgit statusก่อน
Zenexer

1
ใช่ต้องให้แน่ใจว่าโลกจะไม่ระเบิดในการผลักดันนั้น ฉันเห็นด้วย.
markyzm

1
นี่เป็นวิธีที่มีประสิทธิภาพที่สุดในการสร้างสาขาการติดตามรวมถึงสาขาระยะไกลในเวลาเดียวกัน ฉันต้องการเพิ่มgit remote show originเป็นขั้นตอนที่สามเพื่อให้เห็นภาพความสัมพันธ์การติดตาม / การติดตามใหม่
hb5fa

54

หากคุณต้องการสร้างสาขาจากสาขาปัจจุบัน

git checkout -b {your_local_branch_name} 

คุณต้องการสาขาจากสาขาระยะไกลคุณสามารถลอง

git checkout -b {your_local_branch_name} origin/<remote_branch_name>

หากคุณแก้ไขเสร็จแล้วคุณสามารถเพิ่มไฟล์ได้

git add -A or git add <each_file_names>

จากนั้นทำคอมมิทในเครื่อง

git commit -m 'your commit message'

เมื่อคุณต้องการที่จะผลักดันไปยัง repo ระยะไกล

git push -u origin <your_local_branch_name>

ทั้งหมดเข้าด้วยกันจะเป็น

git checkout -b bug_fixes 

หรือถ้าคุณต้องการที่จะสร้างสาขาจากสาขาระยะไกลว่าการพัฒนา

git checkout -b bug_fixesกำเนิด / พัฒนา

คุณสามารถผลักดันไปยังสาขาเพื่อ repo ระยะไกลโดย

git push -u origin bug_fixes

เวลาที่คุณต้องการที่จะปรับปรุงสาขาจากสาขาอื่น ๆ พูดต้นแบบ

git pull origin master.


46

หากคุณต้องการสร้างสาขาระยะไกลโดยไม่ต้องมีสาขาในพื้นที่คุณสามารถทำได้เช่นนี้

git push origin HEAD:refs/heads/foo

มันผลักดันสิ่งที่เป็นหัวหน้าของคุณไปยังสาขาfooที่ไม่ได้อยู่ในระยะไกล


การทำเช่นนี้ทำให้ Visual Studio ของฉันสับสนจนไม่สามารถเริ่มต้นได้อย่างถูกต้อง Team Explorer จะไม่โหลดเลย แต่ทุกสิ่งทุกอย่างก็เกิดข้อผิดพลาดเช่นกัน เพียงแค่ FYI
Josh

ดูเหมือนว่ามันจะทำงานได้ แต่เมื่อฉันลองจริงเซิร์ฟเวอร์ gitlab ของเราไม่รู้จักผลลัพธ์เป็นสาขา
JosephH

สาขาใดบ้างที่มีการแยกสาขาออกจากระยะไกล ถ้าฉันอยากจะแยกสาขาออกจาก foo2 ล่ะ? เป็นไปได้ไหม ขอบคุณ.
674669

มันทำงานบนเซิร์ฟเวอร์ gerrit เช่นกันสร้างสาขาใหม่บนรีโมทที่ไม่มีอยู่ก่อนคำสั่งนี้
MichaelZ

33

ทางออกที่ง่ายที่สุด ... Drumm Roll ... git เวอร์ชั่น 2.10.1 (Apple Git-78)

1) git checkout -b localBranchNameThatDoesNotExistInRemote

2) Do your changes, and do a git commit 

3) git push origin localBranchNameThatDoesNotExistInRemote --force

NB - สาขาที่คุณเพิ่งสร้างขึ้นในสภาพแวดล้อมในท้องถิ่นของคุณและระยะไกลสาขาไม่ใช่ที่มีอยู่ที่คุณกำลังพยายามที่จะผลักดันจะต้องมีชื่อเดียวกัน


3
ขอบคุณสำหรับคำแนะนำของคุณ แม้ว่าคุณจะเรียกสิ่งนี้ว่าทางออกที่ง่าย แต่ฉันก็ยังคิดว่าgit push -uเป็นวิธีที่ง่ายกว่า ที่คุณต้องมีสายการ config หนึ่งทั่วโลกเห็นstackoverflow.com/a/27185855/109305 ฉันใช้งานgit push -uอย่างต่อเนื่องมันครอบคลุม 99% ของค่าใช้จ่ายของฉันเมื่อทำงาน
Jesper Rønn-Jensen

29

[คำตอบที่รวดเร็ว]

คุณสามารถทำได้ใน 2 steeps:

1.ใช้checkoutสำหรับสร้างสาขาท้องถิ่น:

git checkout -b yourBranchName

2.ใช้pushคำสั่งเพื่อสร้างสาขาและส่งรหัสไปยังที่เก็บระยะไกล:

git push -u origin yourBanchName

มีหลายวิธีในการทำเช่นนี้ แต่ฉันคิดว่าวิธีนี้ง่ายมาก


1
รวดเร็วและตรงประเด็น!
Dev

26

ก่อนอื่นให้คุณสร้างสาขาในพื้นที่:

git checkout -b your_branch

จากนั้นเพื่อสร้างสาขาจากระยะไกล:

git push --set-upstream origin your_branch

หมายเหตุ: สิ่งนี้ใช้ได้กับ git เวอร์ชัน latests:

$ git --version
git version 2.3.0

ไชโย!


นี่เป็นเพียงข้อความช่วยเหลือที่สร้างโดยคำสั่งgit pushเมื่อสาขาในพื้นที่ของคุณไม่ได้รับการติดตามจากระยะไกล
นูเรตติ

18

สร้างสาขาในเครื่องท้องถิ่นของคุณและสลับในสาขานี้:

$ git checkout -b [name_of_your_new_branch]

ดันสาขาบน GitHub:

$ git push origin [name_of_your_new_branch]

เมื่อคุณต้องการที่จะกระทำบางอย่างในสาขาของคุณให้แน่ใจว่าได้อยู่ในสาขาของคุณ

คุณสามารถดูสาขาทั้งหมดที่สร้างโดยใช้:

$ git branch

ซึ่งจะแสดง:

* approval_messages
  master
  master_clean

เพิ่มรีโมตใหม่สำหรับสาขาของคุณ:

$ git remote add [name_of_your_remote] 

ผลักดันการเปลี่ยนแปลงจากความมุ่งมั่นของคุณไปยังสาขาของคุณ:

$ git push origin [name_of_your_remote]

อัปเดตสาขาของคุณเมื่อสาขาดั้งเดิมจากที่เก็บอย่างเป็นทางการได้รับการอัปเดต:

$ git fetch [name_of_your_remote]

ถ้าอย่างนั้นคุณต้องสมัครเพื่อรวมการเปลี่ยนแปลงถ้าสาขาของคุณได้รับการพัฒนาจากสิ่งที่คุณต้องทำ:

$ git merge [name_of_your_remote]/develop

ลบสาขาบนระบบไฟล์โลคัลของคุณ:

$ git branch -d [name_of_your_new_branch]

วิธีบังคับให้ลบสาขาโลคัลบนระบบไฟล์ของคุณ:

$ git branch -D [name_of_your_new_branch]

ลบสาขาบน GitHub:

$ git push origin :[name_of_your_new_branch]

ข้อมูลทั้งหมดที่นี่

โครงการอื่น ๆ ที่มีอยู่


14

การสร้างสาขาท้องถิ่นจากสาขาที่มีอยู่ (สามารถเป็นหลัก / พัฒนา / สาขาอื่น ๆ )

git checkout -b branch_name

กดปุ่มนี้เป็นรีโมต

git push -u remote_name local_branch_name: remote_branch_name

ที่นี่

  1. -u: ชุดสาขาต้นน้ำ
  2. remote_name: git ตั้งชื่อโดยค่าเริ่มต้นเป็น "origin" เมื่อสร้างที่เก็บ อย่างไรก็ตามสิ่งนี้สามารถเปลี่ยนเป็นชื่ออื่นได้
  3. local_branch_name: เป็นชื่อของสาขาท้องถิ่นที่จะผลักดัน
  4. remote_branch_name: เป็นชื่อของ remote branch ที่เราต้องการสร้างบน remote

หากเราลบชื่อสาขาในพื้นที่และระยะไกลชื่อนั้นจะมีรูปแบบ

git push -u remote_name branch_name

สิ่งนี้จะผลักสาขาในท้องถิ่นไปยังรีโมตและมีชื่อเดียวกับสาขาย่อยในท้องถิ่น สาขาท้องถิ่นจะติดตามสาขาระยะไกลเช่นกัน


10

ฉันรู้ว่าคำถามนี้ได้รับคำตอบที่ดี แต่เพียงต้องการรายการขั้นตอนที่ฉันทำเพื่อสร้างสาขาใหม่ "myNewBranch" และผลักดันไปยังระยะไกล ("ต้นกำเนิด" ในกรณีของฉัน) และตั้งค่าการติดตาม ลองพิจารณารุ่น "TL; DR" นี้ :)

# create new branch and checkout that branch
git checkout -b myNewBranch
# now push branch to remote 
git push origin myNewBranch
# set up the new branch to track remote branch from origin
git branch --set-upstream-to=origin/myNewBranch myNewBranch

8

ขณะนี้มีคอมไพล์คุณสามารถพิมพ์เมื่อคุณอยู่ในสาขาที่ถูกต้อง

git push --set-upstream origin <remote-branch-name>

และคอมไพล์สร้างสำหรับคุณสาขากำเนิด


1
-u สั้นสำหรับ --set-upstream .. ดังนั้นคำสั่งอาจเป็น git push -u origin <remote-branch-name>
Uncaught Exception Ex

ร้ายแรง: ต้นกำเนิด 'ไม่ปรากฏเป็นที่เก็บคอมไพล์
Dmitry Grinko

บางทีคุณต้องตั้งค่าต้นกำเนิดของแหล่งเก็บข้อมูลคอมไพล์ของคุณ
Maurizio Brioschi

8

แค่ต้องการเพิ่มในขณะที่:

git checkout -b {branchName}

สร้างสาขาใหม่มันยังตรวจสอบว่าสาขา / ทำให้สาขาปัจจุบันของคุณ ถ้าด้วยเหตุผลบางอย่างสิ่งที่คุณต้องการทำคือปิดสาขา แต่ไม่ได้ทำให้สาขาปัจจุบันของคุณจากนั้นคุณจะใช้คำสั่งต่อไปนี้:

git branch {branchName}

ในคำสั่งแรก "เช็คเอาต์" ทำให้สาขาดังกล่าวเป็นสาขาปัจจุบันของคุณและ "-b" หมายถึง: สาขานี้ยังไม่มีอยู่ดังนั้นให้ฉันทำ


6

วิธีการทำผ่าน Source Tree

 1: Open SourceTree, click on Repository -> Checkout
 2 :Click on Create New Branch
 3: Select branch where from you want to get code for new branch 
 4: Give your branch name
 5: Push the branch  (by click on Push button)

5

git push -u <remote-name> <branch-name>ไม่ทำงานหากสาขาที่สร้างขึ้นใหม่ไม่ได้เกิดจาก repo เดียวกันเช่นถ้าคุณยังไม่ได้สร้างสาขาใหม่โดยใช้git checkout -b new_branchนั่นจะไม่ทำงาน

ยกตัวอย่างเช่นฉันได้โคลนที่เก็บสองแห่งในพื้นที่และฉันต้องคัดลอก repo2 / branch1 ไปยัง repo1 / จากนั้นกดมันด้วย

ลิงค์นี้ช่วยให้ฉันผลักสาขาท้องถิ่นของฉัน (โคลนจาก repo อื่น) ไปยัง repo ระยะไกลของฉัน:


3

นี่คือวิธีที่คุณทำใน eclipse ผ่าน Egit

1) ไปที่มุมมอง "Git Repository Exploring" และอธิบายโครงการ git ที่คุณต้องการสร้างสาขา ภายใต้ Brances -> Local .. เลือกสาขาที่คุณต้องการสร้างสาขา (ในกรณีของฉันฉันเลือก master .. คุณสามารถเลือกสาขาอื่นถ้าคุณต้องการ) .. จากนั้นคลิกขวาและคลิกที่ตัวเลือกสร้างสาขา .. และเลือกตัวเลือกเช็คเอาต์โครงการนี้แล้วคลิกปุ่มเสร็จสิ้น

2) ตอนนี้จาก explorer โครงการเลือกโครงการ .. คลิกขวาจากนั้นทีม -> กดสาขา

สาขาระยะไกลใหม่จะถูกสร้างขึ้น คุณสามารถให้ชื่อของสาขาให้เพื่อนร่วมงานของคุณเพื่อให้พวกเขาสามารถดึงมัน


คำเตือนเกี่ยวกับ Egit - และไคลเอนต์ที่ใช้ JGit ทั้งหมด AFAIK: พวกเขาไม่สนับสนุน. gitattributes! ซึ่งหมายความว่าหากทีมของคุณใช้ Windows (CRLF) และ Linux / OSX (LF) หลายแบบคุณต้องพึ่งพาลูกค้าแต่ละรายที่มีการตั้งค่าที่ถูกต้องตลอดเวลา โดยปกติแล้วมันจะดีกว่าในการจัดการการสิ้นสุดของบรรทัดที่ส่วนกลางที่ระดับ repo หรือโครงการและ. gitattributes เป็นวิธีที่ได้รับการสนับสนุนในการทำเช่นนี้ ดังนั้นหากคุณไม่จำเป็นต้องใช้ Egit ... ไม่ต้อง! :)
สัปดาห์

2

ฉันใช้สองวิธีในการสร้างสาขา

หากคุณใช้ TortoiseGit ให้ทำตามขั้นตอนเหล่านี้: -

1. สร้างสาขาโดยใช้ TortoiseGit

คลิกขวาที่โครงการของคุณ >>> TortoiseGit >>> สร้างสาขา >>> เขียนชื่อของสาขาและเลือกสาขาพื้นฐานจากนั้นกดตกลง

2. กดสาขา

คลิกขวาที่โครงการ >>> TortoiseGit >>> กด >>> คลิกตกลง

3. เปลี่ยนเป็นสาขาใหม่

คลิกขวาที่โครงการของคุณ >>> TortoiseGit >>> เปลี่ยน / ชำระเงิน >>> เลือกสาขาที่สร้างขึ้นใหม่แล้วกดตกลง

หากคุณใช้พรอมต์คำสั่งให้ทำตามขั้นตอนเหล่านี้: -

1. สร้างสาขาโดยใช้พรอมต์คำสั่ง

$ git checkout -b new_branch_name

2. กดสาขา

$ git push ต้นกำเนิด new_branch_name

3. เปลี่ยนเป็นสาขาใหม่จะเปลี่ยนเป็น new_branch_name มิฉะนั้นคุณสามารถใช้

$ git checkout new_branch_name


0

ฉันใช้สิ่งนี้และมันก็ค่อนข้างมีประโยชน์:

git config --global alias.mkdir '!git checkout -b $1; git status; git push -u origin $1; exit;'

การใช้งาน: git mkdir NEW_BRANCH

คุณไม่จำเป็นต้องมีสถานะคอมไพล์ บางทีฉันแค่ต้องการให้แน่ใจว่าทุกอย่างเป็นไปด้วยดี ...

คุณสามารถมีทั้ง LOCAL และ REMOTE branch ด้วยคำสั่งเดียว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.