通过Git的把未提交的更改在主到一个新的分支(Putting uncommitted changes

2019-08-03 03:01发布

你怎么可以把未提交的更改到分支测试时,我在分公司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