Подверсия: Как Вы стараетесь не забывать регистрировать материал?

Так как Ваши файлы еще не фиксируются в branch1:

git stash
git checkout branch2
git stash pop

или

git stash
git checkout branch2
git stash list       # to check the various stash made in different branch
git stash apply x    # to select the right one

, Как прокомментировано benjohn (см. git stash страница справочника ):

, Чтобы также спрятать в настоящее время неотслеженный (недавно добавленный) файлы, добавьте аргумент -u, таким образом:

git stash -u

6
задан Kjensen 25 August 2009 в 02:41
поделиться

10 ответов

Используйте такой инструмент, как VisualSVN , чтобы показать, какие файлы были изменены в обозревателе решений, чтобы вы не забыли зафиксировать их:

VisualSVN status icons in Solution Explorer

7
ответ дан 8 December 2019 в 02:53
поделиться

Простое решение - щелкнуть правой кнопкой мыши на верхнем уровне проекта и затем щелкнуть «зафиксировать». Tortoise показывает вам весь проект, включая файлы без версий.

Это требует некоторой дисциплины при настройке исходного дерева. Например, если вы смешиваете двоичные выходные файлы с исходным кодом, это усложняет задачу. Также убедитесь, что у вас нет игнорируемых каталогов, содержащих исходный код.

6
ответ дан 8 December 2019 в 02:53
поделиться

Ежедневные сборки.
Пакетный файл (или эквивалент), который регистрируется в новом каталоге и выполняет сборку (а в идеальном мире запускает модульные тесты) - если он не собирается, значит, вы что-то пропустили.

6
ответ дан 8 December 2019 в 02:53
поделиться

У меня нет волшебной палочки, которую я мог бы предложить, только мантра «совершать рано, совершать часто»; Помимо предотвращения таких аварий или, по крайней мере, сведения к минимуму их воздействия, когда они все же происходят, это дает и другие преимущества (например, более мелкий откат, если для набора изменений требуется возврат). Для этого может потребоваться ветка, если считается, что ствол всегда содержит «золотой код», поэтому вы не хотите фиксировать недоделанные наборы изменений (и svn точно не делает ветвление и слияние безболезненным, вздох) - действительно, это (среди другие преимущества распределенных VCS) - это одна из причин, по которой я начал переключаться с подрывной деятельности на ртутную (также известную как hg) в проектах с открытым исходным кодом и / или в личных проектах, где я могу взять на себя ответственность! -)

5
ответ дан 8 December 2019 в 02:53
поделиться

Remote -управлять другими машинами (возможно, через VPN), чтобы вы могли получить код в удаленных рабочих каталогах, даже если вы забыли его зарегистрировать.

И / или автоматическое резервное копирование ваших рабочих каталогов.

2
ответ дан 8 December 2019 в 02:53
поделиться

Заставьте себя погрузиться в рутину.

First thing in the office - do an update. 
Last thing in the office  - do a commit (if required).

Конечно, вы должны обновлять / фиксировать в течение дня (например, при регистрации), но как минимум проделайте то же самое.

2
ответ дан 8 December 2019 в 02:53
поделиться

В Tortoise я всегда открываю одно из окон «Проверить наличие модификаций» и регулярно нажимаю кнопку «Обновить». Это действительно была бы очень плохая спешка, из-за которой я отключился бы без предварительной проверки всех открытых окон / приложений на наличие несохраненных данных.

Это также хорошо против того, чтобы забыть добавить что-то, кстати, так как вы можете настроить это окно так, чтобы также показывать все неотмеченные и не добавленные вещи.

1
ответ дан 8 December 2019 в 02:53
поделиться

Крон должен ныть на вас каждый вечер?

1
ответ дан 8 December 2019 в 02:53
поделиться

Я использую git-prompt.sh , чтобы отслеживать состояние файлов и веток. Похоже, он также работает с SVN.

0
ответ дан 8 December 2019 в 02:53
поделиться

За то, что я вообще забыл отметиться, если возможно, я бы вышел из системы с помощью какого-нибудь скрипта, который сначала будет пилить вас, если есть работа, которую еще не отметили. Или щелкнув значок в папке проектов, чтобы TortoiseSVN отобразил красный восклицательный знак.

Чтобы забыть добавить новые файлы к отметке, я использую этот командный файл:

svn st
svn ci -m %1 --username "russell.wallace"

Итак, как только я фиксации, в которой отсутствуют новые файлы, я уведомляюсь об этом факте и могу немедленно выполнить другой коммит, который их добавит.

2
ответ дан 8 December 2019 в 02:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: