บริบท: ฉันกำลังพัฒนาต้นแบบเพิ่มคุณสมบัติอย่างง่าย หลังจากนั้นไม่กี่นาทีฉันก็รู้ว่ามันไม่ง่ายเลยและน่าจะดีกว่าถ้าได้ทำงานในสาขาใหม่
สิ่งนี้เกิดขึ้นกับฉันเสมอและฉันไม่รู้ว่าจะเปลี่ยนไปใช้สาขาอื่นได้อย่างไรและรับการเปลี่ยนแปลงที่ไม่ได้รับการแจ้งเตือนเหล่านี้ทั้งหมดจากฉันโดยปล่อยให้สาขาหลักสะอาด ฉันควรgit stash && git stash branch new_branch
จะทำอย่างนั้น แต่นี่คือสิ่งที่ฉันได้รับ:
~/test $ git status
# On branch master
nothing to commit (working directory clean)
~/test $ echo "hello!" > testing
~/test $ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: testing
#
no changes added to commit (use "git add" and/or "git commit -a")
~/test $ git stash
Saved working directory and index state WIP on master: 4402b8c testing
HEAD is now at 4402b8c testing
~/test $ git status
# On branch master
nothing to commit (working directory clean)
~/test $ git stash branch new_branch
Switched to a new branch 'new_branch'
# On branch new_branch
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: testing
#
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (db1b9a3391a82d86c9fdd26dab095ba9b820e35b)
~/test $ git s
# On branch new_branch
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: testing
#
no changes added to commit (use "git add" and/or "git commit -a")
~/test $ git checkout master
M testing
Switched to branch 'master'
~/test $ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: testing
#
no changes added to commit (use "git add" and/or "git commit -a")
คุณรู้หรือไม่ว่ามีวิธีใดในการบรรลุเป้าหมายนี้?