git – 如何在多个不同的分支上工作,我可以在它们之间轻松切换?

有没有办法处理同一个文件但在GIT中的不同功能/分支?

我确定有办法,但最简单的方法是什么?
我不想隐藏我的更改,因为这很麻烦.

通过SVN,我能够在2个不同的分支上工作,作为2个不同的实体,无需任何干预,并且可以在两者之间轻松切换.

最佳答案
使用git worktree.

git worktree

Git worktree于2007年在git repo的contrib文件夹下引入,名为new-workdir.

在git V2.5中,它被命名为worktree,它允许您在不同的文件夹中拥有相同存储库的多个实例.

例如:

git worktree add <second path>

将在您的计算机上创建另一个文件夹,允许您同时在不同的分支上工作.

如果要删除工作树,请删除该文件夹,然后执行git worktree prune,这将删除工作树引用.

prune
Prune working tree information in $GIT_DIR/worktrees.

创建新的工作树

# create new branch inside the worktree folder 
git worktree -b <branch name> <path>

删除工作树

# do your code and once you have done 
# commit, push and now you can delete your folder
rm -rf <path>

# Tell git to remove the workdir copy
git worktree prune

更新
在即将发布的版本(git 2.17)中,git worktree delete将作为删除工作树的新命令公开.

列出工作树

enter image description here

如果您稍后使用rebase:

>注意:(Since Git 2.7)
你也可以使用git rebase [–no] -autostash.

转载注明原文:git – 如何在多个不同的分支上工作,我可以在它们之间轻松切换? - 代码日志