2

我有一些代码要提交到另一个分支,但是我在创建分支之前进行了更改,所以现在我在 master 中,我想存储代码,创建一个本地分支,签出它,然后存储将代码放入该新分支,以便我可以在其中提交。

这行得通吗?

$>git stash
$>git checkout -b newversion
$>git stash pop
$>git commit -m 'new version'

你应该想'嘿,伙计,做它并检查是否有效',嗯,有很多文件,所以我不想把它搞砸,任何帮助都会很有帮助。

谢谢。

4

3 回答 3

2

是的,当然可以。这正是适合的事情git stash。您实际上甚至没有更改工作目录,您只是为当前签出的提交分配了一个附加名称(“newversion”)。从字面上看,这不可能失败或导致冲突。

此外,你真的应该“做它并检查是否有效”。不管有多少文件,一旦你把它们藏起来,你就拥有了它们。如果事情出了差错,你可以重新开始。

于 2013-04-09T18:23:40.727 回答
1

在这里您可以直观地查看它:http: //ndpsoftware.com/git-cheatsheet.html#loc=stash

于 2013-04-09T18:30:22.113 回答
1

您的解决方案将按预期工作,但您可以在不使用git stash. 如果您只是做了一些必须在新分支上提交的修改,那么只运行 4 个命令中的 2 个就足够了:

git checkout -b newversion
git commit -a -m "new version"
于 2013-04-09T18:36:55.280 回答