将创建一个git分支删除我的本地更改

时间:2011-01-29 10:12:06

标签: git

  

可能重复:
  Git - Create a branch with current changes

我在我的项目上做了很多工作,我意识到应该在另一个分支上完成。如果我现在创建一个分支,我的当前更改是否需要签入,或者在创建新分支时是否会被擦除?我对GIT很新,我只是想避免犯新手的错误。

3 个答案:

答案 0 :(得分:7)

如果使用以下方法从当前HEAD创建新分支:

$ git checkout -b newbranchname

然后不会覆盖更改。

答案 1 :(得分:2)

在您的情况下,bdonlan的答案适用,因为创建新分支不会触及工作目录。

在更常见的情况下,Git会警告您并在您尝试切换仍然存在工作目录更改的分支时中止。无论哪种方式,都不会失去变化。

在这些情况下,要将未提交的工作目录更改移动到新分支,请先将其保存到Git存储:

git stash save

然后创建并签出该分支:

git checkout -b new-branch-name

然后从Git stash中弹出工作目录更改:

git stash pop

答案 2 :(得分:1)

他们将被转移到新的分支。但如果您觉得不安全,可以先备份本地项目目录。