查看遠程所有分支
$ git branch -a
創建分支
git branch [branchname]
新建分支並切換到指定分支
git checkout -b master origin/master
git checkout -b 本地分支名 origin/遠程分支名
使用上面的命令可以創建分支名並且關聯到遠程的分支,但是遠程分支存在git push多次,發現關聯分支的本地代碼不是最新的,只需要在git pull 后面添加origin master 就能獲取最新代碼。
拉取遠程分支代碼
$ git pull origin master From github.com:xxxx@gamil.com/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 ‘git@github.com:xxxxxxxx/xxxxxxxxxx.git’
解決辦法: git checkout xxxxx-fixbug 切換到當前分支上, 然后再 進行 git push --delete origin origin/xxxxx-fixbug
此時將不會再發生錯誤 。
將本地分支推送到遠程
$ git push -u origin dev:release/caigou_v1.0
git push <遠程主機名> <本地分支名>:<遠程分支名>
Git沖突
1、stash
通常遇到一個問題就是本地倉庫你可以直接commit你的修改,但是我這次不想commit,而又想獲取遠程倉庫的最新代碼。看看git stash是如何做的。
git stash
git pull
git stash pop
接下來diff一下此文件看看自動合並的情況,並作出相應修改。
git stash: 備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容保存到Git棧中。
git stash pop: 從Git棧中讀取最近一次保存的內容,恢復工作區的相關內容。由於可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容並恢復。
git stash list: 顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。
git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。
2、放棄這一次本地倉庫的修改,直接覆蓋之
git reset --hard
git pull
