У меня есть 2 ветки, которые еще не готовы к объединению, но имеют некоторую дополнительную логику, которую я хотел бы рассмотреть (перед слиянием)
Можно ли просмотреть несколько ветвей git одного и того же проекта? Возможно ли это?
У меня есть 2 ветки, которые еще не готовы к объединению, но имеют некоторую дополнительную логику, которую я хотел бы рассмотреть (перед слиянием)
Можно ли просмотреть несколько ветвей git одного и того же проекта? Возможно ли это?
Вы можете просто скопировать репозиторий в новое место (либо буквально скопировать каталог, либо с помощью git clone --shared
) и проверить одна ветвь на каждое место.
Вы также можете использовать git-worktree
для создания нескольких рабочих каталогов из одного экземпляра репозитория.
В противном случае основным средством сравнения файлов между ветвями до их объединения является git diff
.
С Git 2.5+ (Q2 2015) репозиторий Git будет поддерживать несколько рабочих деревьев с git worktree add <path>
(и это заменит contrib/workdir/git-new-workdir
)
Эти "связанные" рабочие деревья фактически записаны в основной папке $GIT_DIR/worktrees
основного репо (так что работайте над любой ОС, включая Windows).
Подробнее в разделе Несколько рабочих каталогов с Git?"
Первое, что приходит мне на ум, это проверять каждую ветку на отдельный проект. Так: 1. выездная ветвь A на первичный клон (1) 2. создать новый клон (2) 3. контрольная ветвь B в клоне 2
Второй подход может заключаться в создании новой ветки (aka C) и объединении с ней ветвей A и B. Если они бесплатны, это может помочь в вашем обзоре.
Да, это возможно с надлежащей осторожностью. Однако вы берете одну из копий "из" из обычного каталога git, используя параметр --work-tree=<path>
, поэтому изменения там не будут отображаться git, если вы специально не сообщите об этом. Я привел здесь пример single-working-branch-with-git - см. Раздел UPDATED.
Обратите внимание, что git-new-workdir
не работает в Windows XP, так как для него требуются ссылки в стиле Unix.
Как уже упоминалось, вы можете разделить ветки с помощью 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.
Вышеприведенное выше из документации git.
Теперь git
включает в себя команду worktree
, чтобы сделать именно это.