Master将未提交的变更交给Git的新分支
当我在分支master
处时,如何将未提交的更改提交给分支TEST?
你可以结帐到testing分支,然后提交。 移动到另一个分支时,您不会失去无限的改变。
假设你在主分支:
git checkout test git add . git add deletedFile1 git add deletedFile2 ... git commit -m "My Custom Message"
我不是很确定删除的文件,但我想他们不包括在使用git add .
你也可以创build一个新的分支并切换到这个分支:
git checkout -b new_branch git add .
我一直使用这个,因为在我开始编辑代码之前,我总是忘记开始一个新的分支。
为什么不使用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
,当你想完成一个function分支,同时仍然在你的工作目录中的变化,抱怨。
就像@Mike Bethany一样,这一直发生在我身上,因为我在解决一个新问题的同时忘记了我还在另一个分支上。 所以你可以隐藏你的工作, git flow feature finish...
,和git stash apply
于新的git flow feature start ...
分支。
git checkout TEST git add file1 file2 git commit