Git合併遠端倉庫和版本回退

2021-07-09 09:32:32 字數 1171 閱讀 7550

因為我個人需要合併兩個遠端倉庫(保留commit log),就查了一些相關資料,整理了一些操作。而在我的操作過程中,由於一些誤刪除和誤提交,又引發了版本回退的一些問題,一併做說明。

合併的思路就是講乙個倉庫新增進另乙個倉庫作為乙個遠端倉庫,然後為這個遠端倉庫建立乙個分支,然後將這個分支合併到主分支

假設有乙個倉庫是我要保留的main,另外乙個要新增進這個倉庫為other,兩個都pull下來了。兩個倉庫在同乙個資料夾下,以下操作均在main資料夾中

git remote add remoterepo ../other/

git fetch remoterepo

git checkout -b newbranch remoterepo/main

(git checkout命令加上-b引數表示建立並切換)

git checkout master

git merge newbranch

上面是非常簡單的一種方法,複雜的倉庫還需要處理分支樹

因為我的愚蠢和無知,在合併倉庫的過程中,誤刪除和提交了一些檔案,不得已,使用版本回退進行找回

git checkout .

git checkout --

上面兩條命令會用暫存區全部(第乙個)或指定的檔案(第二個)替換工作區的檔案。

這個操作很危險,會清除工作區中未新增到暫存區的改動。

(此處可以看出,checkout有兩種用法,checkout用於切換分支,checkout --用於撤銷操作)

git reset head

首先需要檢視提交日誌

git log

git log --pretty=oneline

第乙個是詳細提交資訊,第二個只有提交的版本號

然後回退版本,回退版本又分為兩種

git reset --hard head^

回退到上乙個版本(--hard 表示放棄所有本地改動)

git reset --hard head^~100

退回上100個版本

git reset --hard id

回退到id號指示的版本

git reset head^

git reset head id

git reset

僅用head指向的目錄樹充值暫存區,工作區不受影響。相當於把git add命令更新到暫存區的內容撤出暫存區。

Git 遠端倉庫版本回退

多人合作的專案,同事a誤提了錯誤的東西,並把其他同事修改正確的檔案給覆蓋提交了,線上的專案是有問題的。所以需要回退到同事a的誤提交之前的版本。即遠端倉庫版本回退。步驟 1.使用git log命令檢視歷史提交記錄,選擇要回退的版本號,commit後面一串字元,這裡我們選擇回退到commit 8622e...

git 遠端倉庫版本回退方法

1 問題 如果提交了乙個錯誤的版本,怎麼回退版本?如果提交了乙個錯誤的版本到遠端分支,怎麼回退遠端分支版本?如果提交了乙個錯誤的版本到公共遠端分支,又該怎麼回退版本?3 本地分支版本回退的方法 如果你在本地做了錯誤提交,那麼回退版本的方法很簡單 4 先用下面命令找到要回退的版本的commit id ...

git遠端倉庫版本回退方法

自己的分支回滾直接用reset 公共分支回滾用revert 錯的太遠了直接將 全部刪掉,用正確 替代 如果你在本地做了錯誤提交,那麼回退版本的方法很簡單 先用下面命令找到要回退的版本的commit id git reflog 接著回退版本 gitreset hard obfafd 0bfafd就是你...