StackOverflow'un fikir temelli cevaplar için uygun bir yer olmadığını biliyorum, ancak değişiklikleri bir zulayla ne zaman rafa kaldıracağım konusunda iyi bir fikrim var.
Size deneysel değişiklikler yapmak istemezsiniz
Çalışma alanınızda / çalışma ağacınızda değişiklik yaptığınızda, birleştirme, itme, getirme veya çekme gibi dal tabanlı işlemler yapmanız gerekiyorsa, temiz bir teslim noktasında olmanız gerekir. Dolayısıyla, çalışma alanı değişiklikleriniz varsa, bunları gerçekleştirmeniz gerekir. Ama ya bunları yapmak istemiyorsan? Ya deneysel iseler? Taahhüt tarihinizin bir parçası olmasını istemediğiniz bir şey? GitHub'a bastığınızda başkalarının görmesini istemediğiniz bir şey mi?
Donanımdan sıfırlama ile yerel değişiklikleri kaybetmek istemezsiniz
Bu durumda, donanımdan sıfırlama yapabilirsiniz. Ancak donanımdan sıfırlama yaparsanız tüm yerel bilgilerinizi kaybedersiniz. çalışma ağacı değişikliklerinizi çünkü her şey son işlem sırasında olduğu yere yazılır ve tüm değişikliklerinizi kaybedersiniz.
Bu nedenle, 'ne zaman saklamalısınız' cevabına gelince, yanıt, senkronize bir çalışma ağacı / dizin / kaydetme ile temiz bir kesinleştirme noktasına geri dönmeniz gerektiğinde, ancak yerel değişikliklerinizi kaybetmek istemediğiniz zamandır. süreç. Değişikliklerinizi bir zulada rafa kaldırın ve iyisiniz.
Ve zulanızı yaptıktan ve sonra birleştirdikten veya çekip ittikten sonra, sadece saklayabilir veya uygulayabilirsiniz. ve başladığınız yere geri dönebilirsiniz.
Git stash ve GitHub
GitHub sürekli olarak yeni özellikler ekliyor, ancak şu andan itibaren, orada bir zula kaydetmenin bir yolu var. Yine, zula fikri yerel ve özel olmasıdır. İş istasyonunuza fiziksel erişim olmadan başka hiç kimse zulanıza göz atamaz. Aynı şekilde git reflog özeldir ve git logu geneldir. GitHub'a aktarılsaydı muhtemelen özel olmazdı.
İşin püf noktası, çalışma alanınızın farklılığını yapmak, git deponuzdaki farklılığı kontrol etmek, teslim etmek ve ardından itmek olabilir. Sonra evden çekebilir, farkı alabilir ve sonra gevşetebilirsiniz. Ancak bu, bu sonuçları elde etmenin oldukça karmaşık bir yolu.
git diff > git-dif-file.diff