2016-03-23 22 views
0

Değişiklikleri almak ve çalışma kopyanmda herhangi bir değişiklik yapılıp yapılmadığını belirlemek için Windows toplu iş dosyasında git.exe'yi nasıl kullanırım? Her iki çekme ve birleştirme, değişikliklerin yapıldığı veya yapılmadığı, "başarı" için çıkış kodu 0 döndürüyor gibi görünüyor.Windowsbatch dosyasında değişiklikler birleştirme/birleştirme yapılıp yapılmadığını belirleme

Bunu, stdout'u geçici bir dosyaya yönlendirerek ve FC ile "Zaten güncelleştirilmiş" bir dosyaya karşılaştırarak yaptım. Bu çalışır, ama büyük bir kesmek gibi görünüyor. Daha iyi bir yolu var mı?

Bu, uzaktan değişiklikleri çeken, yapı yapan, birim sınamalarını gerçekleştiren ve sonra da iterleyen bir komut dosyası içindir. Baslamadan hemen önce, komut dosyam çalışırken başkalarının değişiklik yapıp yapmadığını kontrol etmek istiyorum ve eğer öyleyse, testleri tekrar yapın ve tekrar çalıştırın.

# update the local repo with changes from the remote 
git fetch --all -prune 

# check to see if there is a difference between your local branch and the remote branch 

git log <branch>...origin/<branch> 

:

cevap

0

nasıl

Bunu yapabilirsin değişiklikleri çekin ve herhangi bir değişiklik benim çalışma kopyası yapıldı olmadığını belirlemek için bir Windows toplu iş dosyasında git.exe kullanırız Herhangi bir değişiklik görüyorsanız, güncel olmadığını biliyorsunuz.

# update the local repo 
git fetch --all --prune 

# compare the 2 commits to see if there are any new commits 
# the commands will return SHA-1 simply compare them 
git rev-parse origin/dev 
git rev-parse dev 
+0

Teşekkürler, ancak bu, komut dosyamın sahip olmadığı yerel ve uzak dalların isimlerini gerektirir. (Ben hala 'git çekme 've' itme itme kökeni HEAD' şube adları bilmeden sadece iyi yapabilirim.) Ben yerel şube için 'git rev-parse HEAD 'kullanabilirsiniz, ancak uzak şube' git rev için düşünüyorum -parse menşe yanlış sonuç verir. – EM0

İlgili konular