Is it possible to view multiple git branches at the same time for the same project?

有些话、适合烂在心里 提交于 2019-12-03 03:24:59

问题


I have 2 branches, which are not ready to be merged yet, but have some complementary logic, which I'd like to review (before merging)

Can I check out multiple git branches of the same project? Is it possible?


回答1:


You can simply copy the repository to a new location (either by literally copying the directory, or using git clone --shared) and check out one branch per location.

You can also use git-worktree for creating multiple working directories from a single instance of a repository.

Otherwise, the primary means for comparing files between branches prior to merging them is git diff.




回答2:


With Git 2.5+ (Q2 2015), a Git repo will support multiple working trees with git worktree add <path> (and that will replace contrib/workdir/git-new-workdir)

Those "linked" working trees are actually recorded in the main repo new $GIT_DIR/worktrees folder (so that work on any OS, including Windows).

See more at "Multiple working directories with Git?"




回答3:


First thing that comes to my mind it to checkout each branch on separate project. So: 1. checkout branch A on primary clone (1) 2. create a new clone (2) 3. checkout branch B in clone 2

Second approach could be to create a new branch (aka C) and merge both branch A and B to it. If they are complimentary than this might help with your review.




回答4:


Yes it is possible with appropriate care. However you are taking one of the copies 'away' from the regular git directory using --work-tree=<path> option, so changes there won't be seen by git unless you specially tell it. I gave an example here single-working-branch-with-git - see the UPDATED segment.

Note that the git-new-workdir doesn't work on Windows XP as it requires Unix style links.




回答5:


As already mentioned, you can diff branches with git diff:

git diff [--options] <commit> [--] [<path>…]

This form is to view the changes you have in your working tree relative to the named <commit>. You can use HEAD to compare it with the latest commit, or a branch name to compare with the tip of a different branch.

Excerpt above is from Git documentation.




回答6:


Now git includes the command worktree to do exactly that.



来源:https://stackoverflow.com/questions/7393274/is-it-possible-to-view-multiple-git-branches-at-the-same-time-for-the-same-proje

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!