git 合併遠端分支(帶衝突)
應用場景
團隊中兩人同時fetch了一個分支。 第一個人修改後提交,第二個人提交就失敗。失敗資訊如下:
error: failed to push some refs to '[email protected]:jacarrichan/jacarrichan.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
雖然使用“git push -f ”也可以提交,但是會將remote上第一個人的改動沖掉,太暴力了,不太好。下面說的是手動合併.
解決辦法
1,獲取遠端分支更新,也就是第一個人提交的:
git fetch origin
2,嘗試由git帶來的自動合併:
git merge origin/master ##將origin/master合併到當前分支
如果兩個分支的內容有差異,否則提示合併失敗。
Auto-merging README.md CONFLICT (content): Merge conflict in README.md Automatic merge failed; fix conflicts and then commit the result.
看下當前的狀態,尋找幫助資訊:
[email protected] /F/temp/mvn/jacarrichan (master|MERGING) $ git status # On branch master # You have unmerged paths. # (fix conflicts and run "git commit") # # Unmerged paths: # (use "git add <file>..." to mark resolution) # # both modified: README.md # no changes added to commit (use "git add" and/or "git commit -a")
現在我們再來看一下工作目錄裡的“README.md”檔案的內容:
[email protected] /F/temp/mvn/jacarrichanc (master|MERGING)
$ cat README.md
#jacarrichan
Only for ochina git test.
<<<<<<< HEAD
這是第二個人提交的......................
=======
這是第一個人提交的
>>>>>>> origin/master
![我的部落格](http://service.t.sina.com.cn/widget/qmd/1597668397/99810a10/1.png ""
)
“<<<<<<< HEAD“下面就是當前版本里的內容;而“=======”之下,“>>>>>>>origin/master”之上則表示測試分支裡與之對應的有衝突的容。修復衝突時我們要做的,一般就是把“ <<<<<<< HEAD”,“=======”和“ >>>>>>> test”這些東東先去掉,然後把程式碼改成我們想要的內容。
需安裝配置BeyondCompare,下載地址
配置 .gitconfig :C:\Users\${user.home}\.gitconfig
[diff]
tool = bc3
[difftool "bc3"]
cmd = \"D:/application/BeyondCompare/BCompare.exe\" \"$LOCAL\" \"$REMOTE\"
trustExitCode = true
[difftool]
prompt = false
[merge]
tool = bc4
[mergetool "bc4"]
cmd = \"D:/application/BeyondCompare/BCompare.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
trustExitCode = true
手動合併
[email protected] /F/temp/mvn/jacarrichanc (master|MERGING)
$ git mergetool README.md
Merging:
README.md
Normal merge conflict for 'README.md':
{local}: modified file
{remote}: modified file
Hit return to start merge resolution tool (bc4):
備註:圖片上方的三個深藍色圈住的和配置檔案中的這個對應“ \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"”.
按照上述規則,我選擇把雙方的內容都新增進來,你採納第一個或者另外寫別的內容都可以。 儲存後重新提交就順利.
相關推薦
git 合併遠端分支(帶衝突)
應用場景 團隊中兩人同時fetch了一個分支。 第一個人修改後提交,第二個人提交就失敗。失敗資訊如下: error: failed to push some refs to '[email protected]:jacarrichan/jacarrichan.g
git 合併遠端分支
假設遠端分支 dev-by-wbw 本地分支dev-by-wgg 在本地新建一個與遠端的分支dev-by-wbw相同(被合併的版本)的分支dev-by-wbw git checkout - b origin/dev-by-wbw 將遠端分支程式碼pull到本地,然後切回本地自己的分
git合併遠端拉取的分支與本地修改的分支
可以先用git stash暫存本地修改的部分,然後使用git pull拉取遠端分支,隨後使用git stash pop彈出本地修改部分,此時git會自動合併。 如果出現CONFLICT (content): Merge conflict in XX可以使用git merge
git 切換遠端分支
git clone只能clone遠端庫的master分支,無法clone所有分支,解決辦法如下: 1. 找一個乾淨目錄,假設是git_work 2. cd git_work 3. git clone http://myrepo.xxx.com/project/.g
git 檢視遠端分支最後一次提交時間
背景 因為工程建立時間很長了,專案又特別多,導致程式碼庫中遠端分支有100多。想要清理一下遠端分支,但又不能盲目的刪除,需要一定的參考資訊。 可以通過程式碼最後提交時間來進行判斷,但是100多個分支,一個一個看不現實。可以通過下面的指令碼實現,上面是
git刪除遠端分支和本地分支以及更改本地和分支名字 git-更改本地和遠端分支的名稱
問題描述: 當我們集體進行專案時,將自定義分支push到主分支master之後,如何刪除遠端的自定義分支呢 問題解決: (1)使用命令git branch -a 檢視所
Git合併某個分支的一個commit到另一個分支
例如要將A分支的一個commit合併到B分支: 首先切換到A分支 git checkout A git log 找出要合併的commit ID : 例如 0128660c08e325d410cb845616af355c0c19c6fe 然後切換到B分支上 gi
git 合併dev分支到 master分支
## 檢視分支列表 $ git branch -a ## 切換到本地dev分支 $ git checkout dev ## 更新本地dev 分支 $ git pull ## 切換到master 分支 $ git check master ## 更新 本地master 分支 $
git切換遠端分支
git如何進行遠端分支切換 git上檢視遠端分支命令: git branch -a 例如: 然後我想切換到daily/1.0.0遠端分支:前提是必須要建立一個本地分支,並讓它和遠端分支進行關聯,git checkout origin/dai
git合併遠端倉庫上的提交記錄
有時候,我們用git提交程式碼時,因為我們的疏忽,會導致同一個問題,修改多次,因為反覆提交多次,最終穩定下來,我們想把git上這些不成熟的提交記錄合成一個終極記錄。例如: git上依次有如下提交(按提交時間從新到舊): 提交記錄k 提交記錄m 提交記錄n4 提交記錄
git 檢視遠端分支、本地分支、建立分支、把分支推到遠端repository、刪除本地分支
本文轉載自: $ git branch -a * br-2.1.2.2 master remotes/origin/HEAD -> origin/master remotes/origin/br-2.1.2.1 remote
git刪除遠端分支檔案,不改變本地檔案
git提交專案時候踩的Git的坑 經歷 由於剛開始沒有設定.gitignore檔案,導致專案中所有的檔案都被提交到了github上面,由此帶來的問題就是有些debug日誌也被提交了上去,對於團隊開發很不友好。 一個錯誤的嘗試 git rm -r --cached "fileName/direction
git對遠端分支和tag的操作
本站文章除註明轉載外,均為本站原創或者翻譯。本站文章歡迎各種形式的轉載,但請18歲以上的轉載者註明文章出處,尊重我的勞動,也尊重你的智商;本站部分原創和翻譯文章提供markdown格式原始碼,歡迎使用文章原始碼進行轉載;本文標題:Git檢視、刪除、重新命名遠端分支和tag 2013-01-09:加入刪除
【Git】遠端分支
【Git】遠端分支 轉載:https://www.cnblogs.com/yangchongxing/p/10239270.html 目錄 ============================ 1、檢視遠端倉庫 2、新增遠端倉庫 3、拉取遠端分支 4、推送到遠端分支 5、重新命名遠端倉庫
git刪除遠端分支檔案
當我們錯誤的 把不需要版本控制的檔案提交到遠端分支上後,需要刪除遠端分支上的檔案,用以下操作即可: git rm -r –cached dirname //刪除遠端資料夾,但保留本地資料夾 git commit -m ‘say something’ //
git push遠端分支error: src refspec xxx does not match any.
error: src refspec xxx does not match any. error: failed to push some refs to 'ssh://[email protected]' 解決方法:git push origin HEAD:
Git 合併、分支、提交
1. 分支策略 在實際開發中,我們應該按照幾個基本原則進行分支管理: 首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活; 那在哪幹活呢?幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本釋出時,再把dev分支合併到master上,在mas
git 刪除遠端分支上的某次提交
使用git管理專案開發的過程中經常會碰到這種情況:某次提交已經push到了遠端倉庫,可是突然意識到“天哪,我怎麼做了這麼蠢的事情”。那麼問題來了,怎麼將遠端程式碼庫回滾呢? 在網上看到大部分人給出的解決方案是先將本地回滾,然後刪除遠端分支,之後再將本地的分
git刪除遠端分支
先檢視遠端分支 git branch -r 使用下面兩條命令來刪除遠端分支 git branch -r -d origin/branch-name git push origin :branch-
Git檢視遠端分支、本地分支、建立分支、把分支推到遠端repository、刪除本地分支
原文地址:http://blog.csdn.net/arkblue/article/details/9568249/ 1 檢視遠端分支 $ git branch -a * br-2.1.2.2 master remotes/origin/HEA