簡體   English   中英

git 分支 - 如何使當前主控成為一個分支,然后將主控恢復到以前的版本?

[英]git branching - how to make current master a branch and then revert master back to previous version?

這可能很簡單,但我目前是 git 菜鳥,還沒有完全了解 git 分支 model。

假設我目前除了master之外沒有任何分支,但現在我做了一些更改,因為我決定不想保留上次提交(注意:更改尚未提交)。 不過,我還不想擺脫這些更改——我想將它們放在他們自己的分支中(例如, experimental_stuff ),然后從我之前的提交繼續開發。 所以我想步驟是:

  • 使當前 master 成為一個分支( git branch experimental_stuff ?)
  • go 返回上一個提交( git checkout <last_commit> ?)
  • 將此作為我的新主分支,以便將來的提交從這里繼續( git???

這是正確的方法嗎?最后一部分(如果有的話)需要什么 git 命令?

[注意:這只是我個人使用的本地 git 存儲庫,如果有任何區別。 ]

你快完成了。

假設您已對開發文件進行了提交。 然后..

git 分支experimental_stuff

git reset --hard HEAD^(返回主分支的上一個提交以繼續開發)

假設您尚未對開發文件進行提交。 然后..您需要將當前更改保存到臨時目錄

git 存儲

git checkout -b experimental_stuff(創建分支並將其更改為 experiental_stuff)

git stash pop(將臨時目錄填充到實驗分支)

git checkout master(返回master,這次不需要go返回之前的commit,因為你沒有那個commit)

假設我目前沒有這樣的分支機構

只是為了糾正你:你總是在 Git 中至少有一個分支。 甚至 master 也是一個分支,具有與任何其他分支相同的功能。 並且 Git 不處理名為 master 的分支,而不是另一個分支。 這只是一個約定,大多數開發人員將他們的主分支命名為“master”,但您不需要這樣做。 您甚至可以刪除您的主分支並創建開發、發布等分支。對於您的問題本身:Kit Ho 的回答很好。

暫無
暫無

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

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