簡體   English   中英

如何修復git中的“分歧分支”?

[英]How to fix "diverged branch" in git?

我克隆了一個存儲庫並檢查了一個分支,現在當我執行git pull時,我看到了錯誤

hint: You have divergent branches and need to specify how to reconcile them.

有沒有辦法解決這個問題而無需重新定位或合並某些東西? 是否有一些 git 命令可以讓本地結帳到與遠程存儲庫相同的狀態?

我不想保留任何本地更改,我希望本地分支與我試圖拉取的遠程分支完全一樣。 我對本地更改不感興趣。

有一種解決方法可以正常工作:

cd ..
rm -rf repo
git clone <repo-url.git> 
cd repo
git checkout <branch> 

但也許有更簡單的方法? 刪除完整的 repo 花了很長時間。

再次:我想要一個與遙控器完全一樣的分支。 我不想合並或變基任何東西。 我希望在本地擁有與遠程完全相同的分支狀態。

TL;博士

git reset --hard origin/<branchname>

細節

如果您真的想放棄任何本地更改,而只是將本地分支設置為遠程狀態,則可以進行硬重置。

假設您已經簽出了分支<branchname> ,並且您想將其重置為原始版本:

git fetch
git reset --hard origin/<branchname>

這將丟棄該分支上的任何本地提交,以及您在沙箱中本地完成的任何編輯。 由於您正在考慮完全刪除本地沙箱,我相信這正是您想要的。

也許以下過程有效:

  1. 你結帳主要

     git checkout main
  2. 然后你刪除你的分支

    git branch -D <branch>
  3. 你再次檢查你的分支

    git checkout <branch>
  4. 你做git pullgit fetchgit st等檢查是否所有都是最新的

暫無
暫無

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

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