Як можна внести неспроможні зміни до гілки TEST, коли я перебуваю у філії master
?
Як можна внести неспроможні зміни до гілки TEST, коли я перебуваю у філії master
?
Відповіді:
Ви можете просто здійснити заїзд у тестову гілку, а потім здійснити фіксацію. Ви не втрачаєте своїх невтішних змін, переходячи до іншої гілки.
Припустимо, ви перебуваєте в головній галузі:
git checkout test
git add .
git add deletedFile1
git add deletedFile2
...
git commit -m "My Custom Message"
Я не дуже впевнений у видалених файлах, але, мабуть, вони не включаються під час використання git add .
Також ви можете створити нову гілку та перейти до неї, виконавши:
git checkout -b new_branch
git add .
Я використовую це постійно, тому що я завжди забуваю запустити нову гілку, перш ніж розпочати редагування коду.
Чому б просто не використовувати git stash. Я думаю, це більш інтуїтивно зрозуміло, як копіювати та вставляти.
$ git branch
develop
* master
feature1
TEST
$
У вашому поточному відділенні є кілька файлів, які ви хочете перемістити.
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: awesome.py
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: linez.py
#
$
$ git stash
Saved working directory and index state \
"WIP on master: 934beef added the index file"
HEAD is now at 934beef added the index file
(To restore them type "git stash apply")
$
$ git status
# On branch master
nothing to commit (working directory clean)
$
$
$ git stash list
stash@{0}: WIP on master: 934beef ...great changes
$
Перехід до іншої гілки.
$ git checkout TEST
І подати заявку
$ git stash apply
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: awesome.py
# modified: linez.py
#
Мені це також подобається, git stash
тому що я використовую git flow
, яка скаржиться, коли ви хочете закінчити гілку функцій, в той час як у вашому робочому каталозі ще є зміни.
Так само, як @Mike Bethany, це трапляється зі мною весь час, тому що я працюю над новою проблемою, забуваючи, що я все ще на іншій галузі. Таким чином, ви можете зберігати свою роботу git flow feature finish...
і git stash apply
в новій git flow feature start ...
галузі.
git stash
- це мій бажаний спосіб боротьби із неспроможними змінами. Це, звичайно, інтуїтивний метод, коли ви думаєте про це як вирізання та вклеювання.
git stash --include-untracked