你怎么可以把未提交的更改到分支测试时,我在分公司master
?
Answer 1:
你可以只签到测试分支,然后提交。 移动到另一个分支,当你不失去你的未提交更改。
假设你在主分支:
git checkout test
git add .
git add deletedFile1
git add deletedFile2
...
git commit -m "My Custom Message"
我真的不知道关于删除的文件,但我想,当你使用它们不包括git add .
Answer 2:
你还可以创建一个新的分支,并通过做切换到它:
git checkout -b new_branch
git add .
我用这一切的时候,因为我总是忘记之前,我开始编辑代码,开始一个新的分支。
Answer 3:
为什么不直接使用git藏匿。 我认为这是更直观像复制和粘贴。
$ git branch
develop
* master
feature1
TEST
$
您的当前分支要移动的一些文件。
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: awesome.py
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: linez.py
#
$
$ git stash
Saved working directory and index state \
"WIP on master: 934beef added the index file"
HEAD is now at 934beef added the index file
(To restore them type "git stash apply")
$
$ git status
# On branch master
nothing to commit (working directory clean)
$
$
$ git stash list
stash@{0}: WIP on master: 934beef ...great changes
$
移动到另一个分支。
$ git checkout TEST
并应用
$ git stash apply
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: awesome.py
# modified: linez.py
#
我也很喜欢git stash
,因为我用的git flow
,当你要完成一个特性分支,而在工作目录中仍然有变化,这抱怨。
就像@Mike伯大尼,这发生在我身上,因为我上了一个新问题工作而忘记了我还在另一个分支的时间。 所以,你可以藏你的工作, git flow feature finish...
,和git stash apply
于新git flow feature start ...
分支。
Answer 4:
git checkout TEST
git add file1 file2
git commit
文章来源: Putting uncommitted changes at Master to a new branch by Git