有没有办法在 GIT 中处理同一个文件但不同的功能/分支?
我确信有办法,但最简单的方法是什么?
我不想隐藏我的更改,因为这很麻烦。
借助 SVN,我能够将 2 个独立的分支作为 2 个不同的实体进行工作,无需任何干预,并且可以轻松在两者之间切换。
使用 git 工作树。
git worktree
Git 工作树于 2007 年在contrib
git repo 中的文件夹并被称为new-workdir
.
In git V2.5它被命名为worktree
它允许您在不同的文件夹中拥有同一存储库的多个实例。
例如:
git worktree add <second path>
将在您的计算机上创建另一个文件夹,允许您同时在不同的分支上工作。
如果要删除工作树,则删除该文件夹,然后执行git worktree prune
这将删除工作树引用。
prune
修剪工作树信息$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
Update在即将到来的版本(git 2.17+)中git worktree delete
将作为删除工作树的新命令公开。
列出工作树
如果稍后使用 rebase:
- Note: (从 Git 2.7 开始 https://github.com/git/git/blob/master/Documentation/RelNotes/2.7.0.txt)
您还可以使用git rebase [--no]-autostash
以及。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)