簡體   English   中英

git pull origin開發vs git merge

[英]git pull origin develop vs git merge

我已經檢查了一項功能以開始工作; 但是我想用最新的開發來更新它。 但是我犯了一個錯誤,我沒有進行“ git pull origin development”,而是看到發生了合並。 這可以嗎? 我可以繼續,這類似於“ git rebase”或“ git merge development”?

$git checkout feature/migration
Branch 'feature/migration' set up to track remote branch 'feature/migration' from 'origin'.
Switched to a new branch 'feature/migration'


$git pull origin develop
From https://github.com/xxx
 * branch              develop    -> FETCH_HEAD
Auto-merging web/package.json
Auto-merging package.json
Merge made by the 'recursive' strategy.
 api/src/entity/User.ts            |  8 ++++++ ... more

我做了

git reset --hard  619c69ae

重置前記錄

$git lg1
*   18ee4066 - (2 minutes ago) Merge branch 'develop' of https://github.com/proj into feature/migration - Dave (HEAD -> feature/migration)
|\  
| *   619c69ae - (16 hours ago) Merge branch 'release/3.1.64' into develop - Dave (origin/develop, origin/HEAD, develop)
| |\  
* | | e8491f6e - (3 days ago) fix delete index - Dave (origin/feature/migration)

重置后的glog

*   619c69ae - (16 hours ago) Merge branch 'release/3.1.64' into develop - Dave (HEAD -> develop, origin/develop, origin/HEAD, feature/migration)
|\  
| | *   eaa8f62a - (16 hours ago) Merge branch 'release/3.1.64' - Dave (tag: 3.1.64, origin/master, master)
| | |\  
| | |/  
| |/|   
| * | 2dda35ad - (16 hours ago) release 3.1.64 - Dave
|/ /

沒關系。 我們可以粗略地說git pull = git fetch + git merge

另外,有時git rebase 可能會造成災難 ,因此您可以考慮使用merge而不是rebase。

但是, git rebasegit merge 對於歷史記錄可能是不同的觀點

您可以繼續進行開發。 但是無論如何, rebasemerge之間的主要區別是

  • 你得到一個更清潔工程的歷史從rebase通過消除unnessasary合並提交,並重新編寫歷史襯墊順序。

如果您仍然想返回並嘗試重新設置rebase

撤消合並

git reset --hard ORIG_HEAD

然后重新設定

git rebase develop

暫無
暫無

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

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