2014-09-29 76 views
1

我有碩士和開發分支。GIT - 從分支變更爲主變更

在開發分支我有commit1。

問:

如何從commit1(開發)添加更改主分支作爲本地修改(uncomitted變化)?

+0

爲什麼你想要這些改變但沒有提交?有幾種方法可以完成你想要的任務,最直接的方法可能取決於你爲什麼要這麼做。 – R0MANARMY 2014-09-29 14:56:59

+0

基本上我想從分支中提取並威脅它像本地更改,所以我做了一些更改並將其提交給主。 – 2014-09-30 05:52:19

回答

1

master分支中使用git merge

git merge develop 

如果你想不commit合併,只需添加--no-commit--no-ff

git merge develop --no-commit --no-ff 
+0

我希望看到更改作爲uncomited更改(本地更改) – 2014-09-29 10:45:09

+0

@ Ing.MichalHudak回答更新。 – Landys 2014-09-29 10:59:44

0

Git中最常見的工作流程是:只要繼續在分支上工作,直到你擁有被完成或錯誤修復,然後把它合併到父分支(在你的情況)。

但是,如果您確實想要將更改從一個分支轉移到另一個分支,則您有幾個選項。

  1. 如Landys所述,使用git merge命令。 --no-commit--squash將從另一個分支帶來更改,而不實際提交它們。您可能需要執行git reset以取消您剛剛合併的更改。這將帶來所有提交的所有更改。
  2. 另一種選擇在這裏描述:Quick tip: git-checkout specific files from another branch。基本上,您可以使用git checkout來指定要從其他分支簽出的特定文件,或者使用修補程序模式(-p)來選擇要從其他分支簽出哪些更改以及哪些不需要簽出。
  3. 如果您在另一個分支上有多個提交,並且您希望僅將其中一個提交到當前分支,則可以使用git cherry-pick使該提交結束,然後使用git reset HEAD~撤消提交cherry-pick而不是修改其中的文件你的工作目錄。