Putting uncommitted changes at Master to a new bra

2019-03-07 19:56发布

How can you put uncommitted changes to a branch TEST when I am at the branch master?

4条回答
相关推荐>>
2楼-- · 2019-03-07 20:32

Why not just use git stash. I think it's more intuitive like a copy-and-paste.

$ git branch
  develop
* master
  feature1
  TEST
$

You have some files in your current branch that you want to move.

$ 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
$

Move to the other branch.

$ git checkout TEST

And apply

$ 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
#

I also like git stash because I use git flow, which complains when you want to finish a feature branch whilst having changes still in your working directory.

Just like @Mike Bethany, this happens to me all the time because I work on a new problem while forgetting I am still on another branch. So you can stash your work, git flow feature finish..., and git stash apply to new git flow feature start ... branch.

查看更多
放我归山
3楼-- · 2019-03-07 20:40

Also you can create a new branch and switch to it by doing:

git checkout -b new_branch
git add .

I use this all the time because I always forget to start a new branch before I start editing code.

查看更多
Viruses.
4楼-- · 2019-03-07 20:48
git checkout TEST
git add file1 file2
git commit
查看更多
太酷不给撩
5楼-- · 2019-03-07 20:55

You can just checkout to the test branch and then commit. You don't lose your uncommited changes when moving to another branch.

Supposing you are at the master branch:

git checkout test
git add .
git add deletedFile1
git add deletedFile2
...
git commit -m "My Custom Message"

I am not really sure about the deleted files, but I guess they aren't included when you use git add .

查看更多
登录 后发表回答