ฉันเคยgit checkout -b
สร้างสาขาใหม่ ฉันคิดว่าgit branch
ทำสิ่งเดียวกัน สองคำสั่งเหล่านี้แตกต่างกันอย่างไรถ้าพวกเขาแตกต่างกันอย่างไร
ฉันเคยgit checkout -b
สร้างสาขาใหม่ ฉันคิดว่าgit branch
ทำสิ่งเดียวกัน สองคำสั่งเหล่านี้แตกต่างกันอย่างไรถ้าพวกเขาแตกต่างกันอย่างไร
คำตอบ:
git checkout -b BRANCH_NAME
สร้างสาขาใหม่และตรวจสอบสาขาใหม่ในขณะที่git branch BRANCH_NAME
สร้างสาขาใหม่ แต่จะทำให้คุณอยู่ในสาขาเดียวกัน
ในคำอื่น ๆgit checkout -b BRANCH_NAME
ทำต่อไปนี้สำหรับคุณ
git branch BRANCH_NAME # create a new branch
git checkout BRANCH_NAME # then switch to the new branch
git branch
สร้างสาขา แต่คุณยังคงอยู่ในสาขาปัจจุบันที่คุณเช็คเอาต์
git checkout -b
สร้างสาขาและตรวจสอบออก
มันอาจเป็นรูปแบบย่อของ:
git branch name
git checkout name
git branch
:แสดงสาขาทั้งหมดของคุณgit branch newbranch
:สร้างสาขาใหม่git checkout -b newbranch
:สร้างสาขาใหม่และเปลี่ยนเป็นสาขานั้นทันที นี้เป็นเช่นเดียวกับตามมาด้วยgit branch newbranch
git checkout newbranch
ไวยากรณ์แบบเต็ม:
git checkout -b [NEW_BRANCH] [FROM_BRANCH]
[FROM_BRANCH] เป็นตัวเลือก หากไม่มี FROM_BRANCH git จะใช้สาขาปัจจุบัน
นอกจากนี้ยังมีธงอื่นที่จะกล่าวถึงซึ่งสัมพันธ์กับสิ่งเหล่านี้ ..
git checkout -B BRANCH_NAME
นี่เป็นคำสั่งที่มีประโยชน์มากที่ฉันใช้เมื่อไม่นานมานี้ คำสั่งนี้ตรวจสอบสาขาที่คุณระบุและรีเซ็ตสาขาตามสาขาต้นทาง
If -B is given, <new_branch> is created if it doesn't exist; otherwise, it is reset. This is the transactional equivalent of $ git branch -f <branch> [<start point>] $ git checkout <branch>
checkout -B
อันตรายหรือไม่ถ้าสาขาที่คุณเปลี่ยนไปใช้ร่วมกับผู้อื่น? ฉันใช้สิ่งนี้เมื่อเร็ว ๆ นี้และดูเหมือนจะรวมการเปลี่ยนแปลงในสาขาอื่นของฉันเข้ากับสาขาที่ฉันเปลี่ยนไปโดยอัตโนมัติ
git checkout -B
ใช่แล้วมันจะรวมหรืออาจแทนที่
มีรูปแบบของคำสั่งทั้งสองที่คล้ายกัน (ดูที่ git-scm docs เวอร์ชั่น 2.11.1):
git branch <branchname> <start-point>
และ
git checkout -b <new_branch> <start_point>
หลังดำเนินการคำสั่งสาขาแรกแล้วเพิ่มการชำระเงิน ในรูปแบบนั้นอ้างอิงถึงเอกสารของสาขา git อย่างชัดเจน:
การระบุ -b ทำให้เกิดสาขาใหม่ที่จะสร้างราวกับว่า git-branch [2] ถูกเรียกใช้จากนั้นเช็คเอาต์
เป็นหลัก:
สาขา A-git ช่วยให้คุณสร้างสาขาธรรมดาและเรียบง่าย
B -git checkout -b ช่วยให้คุณสามารถสร้างสาขาและสลับไปที่มันในเวลาเดียวกัน
คุณจะใช้อันไหน 1- สาขาคอมไพล์เมื่อคุณต้องการสร้างสาขา แต่อยู่ในสาขาปัจจุบัน 2- git checkout -b เมื่อคุณต้องการสร้างและสลับ ถ้าคุณดูมันง่ายในการสร้างสาขาและเปลี่ยนเป็น ดังนั้นทางเลือกเป็นของคุณ :)