git切換遠端分支並拉取最新程式碼
阿新 • • 發佈:2020-12-31
檢視遠端所有分支
$ git branch -a
建立分支
git branch [branchname]
需要注意,建立分支時,不會有什麼提示。
新建分支並切換到指定分支
git checkout -b master origin/master
git checkout -b 本地分支名 origin/遠端分支名
拉取遠端分支程式碼
git pull origin/master
使用上面的命令可以建立分支名並且關聯到遠端的分支,但是遠端分支存在git push多次,發現關聯分支的原生代碼不是最新的,只需要在git pull 後面新增origin/master 就能獲取最新程式碼。
$ git pull origin master
From github.com:[email protected]/xxxxx
* branch master -> FETCH_HEAD
Already up to date.
刪除本地分支
刪除本地已合併的分支:
$ git branch -d [branchname]
某些情況下可以用
$ git branch -D [branchName] (使用時應注意是否已合併)
刪除遠端分支
$ git push origin --delete [branchname]
提示刪除了一個名為 201804019-test-files 的分支,
如果發生以下錯誤:
error: unable to delete ‘origin/xxxxxxxx-fixbug’: remote ref does not exist
error: failed to push some refs to ‘[email protected]:xxxxxxxx/xxxxxxxxxx.git’
解決辦法: git checkout xxxxx-fixbug 切換到當前分支上, 然後再 進行 git push --delete origin origin/xxxxx-fixbug
檢視本地分支及追蹤的分支
$ git branch -vv
* dev e67e3ef [origin/release/caigou_v1.0] 供應商詳情頁面
master 11160c2 [origin/master: behind 5] Merge branch 'master' of https://git.jointforce.com/scm/join/yj-stat
*表示當前所在分支,[遠端分支]表示當前本地分支追蹤的遠端分支,最後一個是最近一次提交的註釋。
將本地分支推送到遠端
$ git push -u origin dev:release/caigou_v1.0
git push <遠端主機名> <本地分支名>:<遠端分支名>
成功後顯示如下:
Counting objects: 8, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 754 bytes | 754.00 KiB/s, done.
Total 8 (delta 6), reused 0 (delta 0)
remote:
remote: Create pull request for release/caigou_v1.0:
remote: https://git.jointforce.com/projects/JOIN/repos/yj-stat/compare/commits?sourceBranch=refs/heads/release/caigou_v1.0
remote:
To https://git.jointforce.com/scm/join/yj-stat.git
a22ed65..e8782b2 dev -> release/caigou_v1.0
Branch 'dev' set up to track remote branch 'release/caigou_v1.0' from 'origin'.
上述命令表示將本地dev分支推送到遠端release/caigou_v1.0分支。