003 git的日常操作-新建分支
新建分支
一、本地倉庫與遠程倉庫都無此分支
創建本地分支 dev 并將其關聯到遠程倉庫的 origin/dev 分支。
步驟:
-
檢查當前所在分支,確保不在
dev分支上:git branch -
如果不在
dev分支上,切換到master或其他主分支-取決于你想讓該分支擁有那個分支的數據:git checkout master -
然后創建并切換到
dev分支:git checkout -b dev
注意:在哪個分支上執行此命令,則創建的分支dev將會包含當前所在分支的所有提交記錄和文件內容。但dev分支與當前分支互不影響。
- 推送
dev分支到遠程倉庫(-u 沒有關聯遠程分支,則實現關聯):git push -u origin dev
二、本地倉庫有分支但遠程倉庫無此分支
如果本地倉庫已經有了 dev 分支,但遠程倉庫沒有 dev 分支。
步驟:
-
確保你當前在
dev分支上:git checkout dev -
將本地
dev分支推送到遠程倉庫,并通過-u參數設置遠程倉庫的dev分支跟蹤本地的dev分支:git push -u origin dev
這樣,你就成功地將本地的 dev 分支推送到了遠程倉庫,并且設置了遠程倉庫的 dev 分支跟蹤本地的 dev 分支。
二、本地倉庫無此分支但遠程倉庫有此分支
如果本地倉庫沒有某個分支但遠程倉庫有這個分支
步驟
-
首先,使用以下命令查看遠程倉庫的分支情況,找到你想要拉取的遠程分支名,比如
dev:git branch -r -
然后,使用以下命令將遠程分支
dev拉取到本地并創建一個新的本地分支dev:git checkout -b dev origin/dev這條命令的含義是從遠程倉庫的
origin中拉取dev分支,并在本地創建一個名為dev的新分支,并切換到該分支。 -
如果需要將本地的
dev分支與遠程倉庫的dev分支建立追蹤關系(即可以使用git pull和git push同步),可以使用以下命令:git branch --set-upstream-to=origin/dev dev
現在,你已經成功將遠程倉庫的 dev 分支拉取到了本地,并且可以在本地分支上進行修改和提交。
git branch --set-upstream-to=origin/dev dev
git branch --set-upstream-to=origin/dev dev 這條命令的作用是將本地分支 dev 設置為追蹤(track)遠程倉庫的 origin/dev 分支,使得本地分支能夠與遠程分支保持同步。
具體解釋如下:
git branch --set-upstream-to=origin/dev dev:這條命令將本地分支dev設置為追蹤origin/dev分支,即告訴 Git 當前本地分支dev對應的遠程分支是origin/dev。
通過執行這條命令,你可以使用 git pull 命令從遠程倉庫的 origin/dev 分支拉取更新到本地的 dev 分支,以及使用 git push 命令將本地的 dev 分支推送到遠程倉庫的 origin/dev 分支,實現本地分支與遠程分支的同步。
git branch --set-upstream-to=origin/dev dev 與git push -u origin dev 的區別?
git branch --set-upstream-to=origin/dev dev 和 git push -u origin dev 都可以用來將本地分支 dev 設置為追蹤遠程倉庫的 origin/dev 分支,但它們的作用略有不同。
-
git branch --set-upstream-to=origin/dev dev:- 這條命令只是將本地分支
dev設置為追蹤origin/dev分支,但不會立即進行推送或拉取操作。 - 通常在本地已經有了一個分支,并且想要將其與遠程分支建立追蹤關系時使用,不會觸發推送操作。
- 這條命令只是將本地分支
-
git push -u origin dev:- 這條命令會將本地的
dev分支推送到遠程倉庫的origin/dev分支,并且設置本地的dev分支與遠程倉庫的origin/dev分支建立追蹤關系。 - 如果遠程倉庫中沒有
origin/dev分支,會創建一個新的origin/dev分支,并將本地的dev分支推送到遠程倉庫。 -u參數相當于--set-upstream,用于設置本地分支與遠程分支的追蹤關系。
- 這條命令會將本地的
因此,如果你只需要設置本地分支與遠程分支的追蹤關系而不進行推送操作,可以使用 git branch --set-upstream-to=origin/dev dev;如果需要同時設置追蹤關系并推送分支到遠程倉庫,可以使用 git push -u origin dev。

浙公網安備 33010602011771號