Я только что сделал следующее с Git, но я не уверен, что это правильный способ делать вещи. У меня есть файл, который имеет некоторые вещи. Затем есть ветка, которая добавляет дополнительный материал в этот файл (расширяет его, это плагин, который мы продаем отдельно). Скажем branch1 и branch2 есть файл со следующим содержанием:Правильно ли следующая стратегия Git-фиксации?
-----------
branch1
-----------
123
-----------
branch2
-----------
123
qwe
-----------
Тогда я сделал некоторую работу над главной особенностью в branch1 и сделал обязательство этой отрасли. После этого я объединил branch1 в branch2, чтобы повторно применить эту новую функцию к версии этого файла. Теперь файлы
-----------
branch1
-----------
1234
-----------
branch2
-----------
1234
qwe
-----------
Но код не полностью работает, и теперь мне нужно, чтобы перейти к branch2 и сделать некоторые изменения в код, который расширяет файл там (изменить «QWE» на «Qwer»). Однако во время работы я также обнаружил некоторые ошибки в базовом коде («1234») и исправил их (изменив «1234» на «12345»). Теперь мой рабочий каталог с ГОЛОВОЙ, находясь в branch2 имеет следующее
-----------
branch2 (working directory)
-----------
12345
qwer
-----------
Теперь мне нужно совершить это, результат я стремлюсь это
-----------
branch1
-----------
12345
-----------
branch2
-----------
12345
qwer
-----------
Я боюсь, что если я просто совершить это branch2, а затем будет отдельно переназначить изменение 1234-> 12345 на ветку1 и зафиксировать это тоже, это даст результаты, которые я ищу, но Git признает это как два отдельных и полностью независимых фиксации, и когда я пройду через аналогичные процесс в будущем (например, 12345-> 123456 в ветке1, а затем branch1-> branch2 merge), я получу конфликт в этом месте. Поэтому мое решение состоит в том, чтобы использовать интерактивную постановку, чтобы совершить только qwe-> qwer change to branch2. Затем запишите оставшиеся изменения (в противном случае он не позволит переключиться на ветвь 1), переключитесь на другую ветвь, примените stash, скопируйте 1234-> 12345 в ветвь 1 и, наконец, слейте ветку1-> branch2.
Это сделало трюк, так как я относительно новичок в Git. Я не очень уверен, что я использую вещи правильно и наилучшим образом. Пожалуйста, дайте мне знать, если это имеет смысл, и если это не поможет мне лучше сказать.