簡體   English   中英

如何在Git中將一個分支復制到另一個分支

[英]How to copy one branch to other in Git

我有名字的分支A上,我有我的正在運行的項目。 我有一個正在B分支工作的朋友。 最近,我們在源代碼中做了主要版本更改,因此分支B現在是最新的。 我需要所有的源代碼和文件/文件夾復制到我的分公司,使分公司A是同步B ,也是最新的。 由於我對git命令不太了解,我只是想到了使用命令來拉分支:

git checkout B
git pull origin B

現在,在這兩個命令之后, B所有更改都在我的分支A 但是,當我使用git checkout A切換回分支時,一切都恢復了。 所有我想要的是所有的內容復制BA

使用以下命令:

git checkout B
git pull origin B

您:

  • 切換到分支B
  • 將分支機構B的本地狀態與其遠程狀態同步

當您運行git checkout A您更改了工作副本AB具有不同的歷史記錄-因此文件也不同。

你需要什么是合並分支BA重訂它。 如果您是git初學者,則更好的選擇是merge:

git checkout A
git merge --no-ff B

--no-ff將添加合並提交,即使合並是快速轉發

您必須將分支B合並到分支A。命令是:

git checkout A git merge B

如果分支A沒有推送到服務器,您也可以重新設置基准。

我建議您學習如何在git上管理分支。 這里有兩個偉大的教程,可以幫助您https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow https://guides.github.com/introduction/flow/

我建議按以下方式進行。

git checkout B
git pull origin B
git checkout -b B_backup
git push origin B_backup

git checkout A
git pull origin A

git checkout B
git rebase -i A

(解決沖突,檢查是否一切正常)

git push origin B -f 

(這將覆蓋分支B,請確保那里沒有任何更改)

git push origin A:B
git checkout A
git pull origin A

暫無
暫無

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

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