Bagaimana Anda bisa menempatkan perubahan yang tidak dikomit ke cabang TEST ketika saya di cabang master
?
Bagaimana Anda bisa menempatkan perubahan yang tidak dikomit ke cabang TEST ketika saya di cabang master
?
Jawaban:
Anda bisa checkout ke cabang tes dan kemudian melakukan. Anda tidak kehilangan perubahan tanpa komitmen saat pindah ke cabang lain.
Andaikata Anda berada di cabang utama:
git checkout test
git add .
git add deletedFile1
git add deletedFile2
...
git commit -m "My Custom Message"
Saya tidak begitu yakin tentang file yang dihapus, tapi saya kira mereka tidak termasuk ketika Anda menggunakan git add .
Anda juga dapat membuat cabang baru dan beralih ke sana dengan melakukan:
git checkout -b new_branch
git add .
Saya menggunakan ini sepanjang waktu karena saya selalu lupa untuk memulai cabang baru sebelum saya mulai mengedit kode.
Mengapa tidak menggunakan simpanan git saja. Saya pikir ini lebih intuitif seperti salin dan tempel.
$ git branch
develop
* master
feature1
TEST
$
Anda memiliki beberapa file di cabang Anda saat ini yang ingin Anda pindahkan.
$ 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
$
Pindah ke cabang lain.
$ git checkout TEST
Dan melamar
$ 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
#
Saya juga suka git stash
karena saya menggunakan git flow
, yang mengeluh ketika Anda ingin menyelesaikan cabang fitur sementara masih ada perubahan di direktori kerja Anda.
Sama seperti @Mike Bethany, ini terjadi pada saya sepanjang waktu karena saya mengerjakan masalah baru sambil lupa bahwa saya masih di cabang lain. Jadi, Anda dapat menyimpan pekerjaan Anda git flow feature finish...
,, dan git stash apply
ke git flow feature start ...
cabang baru .
git stash
adalah cara yang saya sukai untuk berurusan dengan perubahan yang tidak dikomit. Ini tentu metode yang intuitif ketika Anda menganggapnya memotong dan menempel.
git stash --include-untracked