我從master分支創建了一個issue5560分支,做了一些修改后,使用git push origin master提交,但是顯示的結果卻是'Everything up-to-date',發生問題的原因是git push origin master 在沒有track遠程分支的本地分支中默認提交的master分支,因為master分支默認指向了origin master 分支,這里要使用git push origin issue5560:master 就可以把issue5560推送到遠程的master分支了。
如果想把本地的某個分支test提交到遠程倉庫,並作為遠程倉庫的master分支,或者作為另外一個名叫test的分支,那么可以這么做。$ git push origin test:master // 提交本地test分支作為遠程的master分支 //好像只寫這一句,遠程的github就會自動創建一個test分支
$ git push origin test:test // 提交本地test分支作為遠程的test分支
如果想刪除遠程的分支呢?類似於上面,如果:左邊的分支為空,那么將刪除:右邊的遠程的分支。
$ git push origin :test // 剛提交到遠程的test將被刪除,但是本地還會保存的,不用擔心
git pull origin master
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
git遠程分支關聯的一種方法
github上已經有master分支 和dev分支
在本地
git checkout -b dev 新建並切換到本地dev分支
git pull origin dev 本地分支與遠程分支相關聯
在本地新建分支並推送到遠程
git checkout -b test
git push origin test 這樣遠程倉庫中也就創建了一個test分支
================================================================================================================
鏈接:https://www.zhihu.com/question/21995370/answer/19975870
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
git clone https://github.com/master-dev.git
# 這個git路徑是無效的,示例而已
git branch --all
# 默認只有master分支,所以會看到如下兩個分支
# master[本地主分支] origin/master[遠程主分支]
# 新克隆下來的代碼默認master和origin/master是關聯的,也就是他們的代碼保持同步
git branch dev # 創建本地分支
git branch # 查看分支
# 這是會看到master和dev,而且master上會有一個星號
# 這個時候dev是一個本地分支,遠程倉庫不知道它的存在
# 本地分支可以不同步到遠程倉庫,我們可以在dev開發,然后merge到master,使用master同步代碼,當然也可以同步
發布dev分支指的是同步dev分支的代碼到遠程服務器
git push origin dev:dev # 這樣遠程倉庫也有一個dev分支了
git checkout dev # 切換到dev分支進行開發
# 開發代碼之后,我們有兩個選擇
# 第一個:如果功能開發完成了,可以合並主分支
git checkout master # 切換到主分支
git merge dev # 把dev分支的更改和master合並
git push # 提交主分支代碼遠程
git checkout dev # 切換到dev遠程分支
git push # 提交dev分支到遠程
# 第二個:如果功能沒有完成,可以直接推送
git push # 提交到dev遠程分支
# 注意:在分支切換之前最好先commit全部的改變,除非你真的知道自己在做什么
git push origin :dev # 刪除遠程dev分支,危險命令
# 下面兩條是刪除本地分支
git checkout master # 切換到master分支
git branch -d dev # 刪除本地dev分支
4. get pull一下發現報出沖突原因,想清楚了,不合並了。
Git pull error: Your local changes to the following files would be overwritten by merge: git reset --hard origin/dev 直接將其解決
這里再說一下可以使用
- git fetch origin develop
- git checkout develop
- git merge origin/develop代替上述的方法,防止沖突發生。