簡體   English   中英

Bitbucket:遠程回購中的沖突,無法弄清楚如何解決

[英]Bitbucket: Conflict in remote repo, can't figure out how to resolve

我希望我能正確表達這一點......我在Bitbucket中有以下設置(使用Git協議)。 我有一個包含我的應用程序的主倉庫。 然后,我為每個客戶端分配主倉庫,以便靈活地進行客戶端特定的更改,而不會影響主服務器。 當需要進行通用更改時,我會推送到master,然后與fork同步,然后進行生產。

我遇到的問題是,在Bitbucket,它說我有合並沖突,但我不知道如何解決它們。 在當地,我沒有沖突。 當我進入Bitbucket時,它告訴我我在主倉庫后面有2個提交,所以我點擊同步。 它說合並沖突,我需要解決它們。 然后,我認為無法解決這些沖突。 如果我對生產服務器進行了拉動,它會說存在沖突,我需要解決它們,所以我這樣做了。 我接受nano(因為我討厭VIM)並清理我需要的東西,然后繼續我的事業。 但分叉的回購似乎仍然存在沖突。 我不知道為解決這種情況需要做些什么。 無論如何,它讓我處於停滯狀態,因為在沖突得到解決之前,我不能再對fork進行任何更改。

使用fork時,將上游存儲庫(主存儲庫)配置為遠程存儲庫以及fork(客戶端A存儲庫)通常很有幫助。 例如,您可能已經有一個代表fork的origin

添加新的遠程upstream以表示“主”存儲庫:

git remote add upstream git@bitbucket.org:user/master-repo.git
git fetch upstream

現在您應該能夠看到所有相關分支。 例如,如果您嘗試合並master分支,則這些將是相關的:

  • master (當地)
  • origin/master (客戶A)
  • upstream/master (主回購)

如果您使用gitkgit log --all --graph --decorate可視化這些分支,您可能會看到沖突的來源。 您很可能希望將兩個遙控器的更改合並到本地master分支中:

git checkout master
git merge upstream/master  # (Merge changes from the "Master" repo)
# Fix any merge conflicts that may arise
git merge origin/master    # (Merge changes from the Client A repo)
# Fix any merge conflicts that may arise

一旦你完成了這個,你應該能夠干凈地push origin

git push origin master

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM