Hangi dosyalar─▒n iki revizyon aras─▒nda de─či┼čti─čini g├Âsterme


Al─▒nan cevaba git


Bir s├╝re ayr─▒ tutulan ve hangi dosyalar─▒n de─či┼čtirildi─čini bilmek isteyen iki ┼čubeyi birle┼čtirmek istiyorum.

Bu ba─člant─▒ya rastlad─▒m: http://linux.yyz.us/git-howto.html ki bu olduk├ža faydal─▒ oldu.

Kar┼č─▒la┼čt─▒─č─▒m dallar─▒ kar┼č─▒la┼čt─▒rmak i├žin ara├žlar:

  • git diff master..branch
  • git log master..branch
  • git shortlog master..branch

Sadece iki dal aras─▒nda farkl─▒ olan dosyalar─▒ g├Ârmek i├žin "git status master..branch" gibi bir ┼čey olup olmad─▒─č─▒n─▒ merak ediyordum.

Yeni bir ara├ž olu┼čturmadan, bunu ┼čimdi yapabilece─činiz en yak─▒n ┼čey oldu─čunu d├╝┼č├╝n├╝yorum (bir dosya birden fazla kez de─či┼čtirildiyse, elbette ki bunlar tekrar eder):

  • git diff master..branch | grep "^diff"

Ka├ž─▒rd─▒─č─▒m bir ┼čey olup olmad─▒─č─▒n─▒ merak ediyordum ...


2024









Cevap say─▒s─▒n─▒ say: 17






Mevcut ┼čubeyi ┼čubeyle kar┼č─▒la┼čt─▒rmak i├žin master :

 $ git diff --name-status master
 

─░ki dal─▒ kar┼č─▒la┼čt─▒rmak i├žin:

 $ git diff --name-status firstbranch..yourBranchName
 

Resmi belgelerde okumaya devam git diff edin .https://git-scm.com/docs/git-diff


2473







Deneyin

 $ git diff --stat --color master..branchName
 

Bu, yine de ayn─▒ say─▒da sat─▒r kullan─▒rken, her de─či┼čiklik hakk─▒nda size daha fazla bilgi verecektir.

Dallar─▒, ba┼čka bir ┼čekilde birle┼čtirmek durumunda olsayd─▒n─▒z, fark─▒n daha net bir resmini elde etmek i├žin ├ževirebilirsiniz:

 $ git diff --stat --color branchName..master
 

392







Ayr─▒ca git'in ucuz ve kolay bir dallanma oldu─čunu unutmay─▒n. Bir birle┼čmenin sorunlu olabilece─čini d├╝┼č├╝n├╝yorsan─▒z, birle┼čtirme i├žin bir dal olu┼čtururum. ├ľyleyse master , birle┼čtirmek istedi─čim de─či┼čiklikler varsa ve ba ana koddan kod gerektiren ┼čubem ise a┼ča─č─▒dakileri yapabilirim:

 git checkout ba
git checkout -b ba-merge
git merge master
.... review new code and fix conflicts....
git commit
git checkout ba
git merge ba-merge
git branch -d ba-merge
git merge master
 

Sonu├ž, dal─▒m─▒ bozmadan ├Ânce bir f─▒rlatma dal─▒ndaki birle┼čmeyi denemem oldu. E─čer kendimi dola┼čt─▒r─▒rsam, ba-merge ┼čubeyi silip ba┼čtan ba┼člayabilirim.


155







Herhangi biri iki daldan bir diff dosyas─▒ olu┼čturmaya ├žal─▒┼č─▒yorsa:

 git diff master..otherbranch > myDiffFile.diff
 

56







GUI tabanl─▒ bir y├Ântem de var.

Gitk kullanabilirsiniz .

  1. Ko┼čmak:

     $ gitk --all
     
  2. Bir dal─▒n taahh├╝d├╝ne sa─č t─▒klay─▒n ve a├ž─▒l─▒r men├╝den Bu taahh├╝d├╝ i┼čaretle se├žene─čini se├žin.

  3. Ba┼čka bir ┼čubenin taahh├╝d├╝ne sa─č t─▒klay─▒n ve Bunu da─č─▒t -> i┼čaretli taahh├╝t veya Diff i┼čaretli taahh├╝t -> bunu se├žin .

Sonra sa─č alt panelde de─či┼čtirilmi┼č bir dosya listesi ve sol alt panelde fark ayr─▒nt─▒lar─▒ bulunacakt─▒r.


37







Bu durumda meld kullanarak bir se├ženek daha:

 git difftool -d master otherbranch
 

Bu, sadece dosyalar aras─▒ndaki farklar─▒ g├Ârmekle kalmaz, ayn─▒ zamanda belirli bir dosyay─▒ i┼čaret etmek ve t─▒klamak i├žin kolay bir yol sa─člar.


33







Git'in birle┼čtirme i┼člemini denemeyi ve sonucu be─čenmezseniz sorunlardan uzakla┼čmay─▒ kolayla┼čt─▒raca─č─▒n─▒ unutmay─▒n. ├ľnceden olas─▒ sorunlar─▒ aramaktan daha kolay olabilir.


29







Ve yaln─▒zca belirli dosyalar aras─▒nda de─či┼čiklikler ar─▒yorsan─▒z, o zaman:

 git diff branch1 branch2 -- myfile1.js myfile2.js
 

┼×ube1 iste─če ba─čl─▒d─▒r ve ┼čube1 sa─članmad─▒ysa, ge├žerli ┼čubeniz (bulundu─čunuz ┼čube) varsay─▒lan olarak kabul edilir. ├ľrne─čin:

 git diff master -- controller/index.js
 

16







─░┼čbirlik├ži ya da ayn─▒ anda birden fazla ├Âzellik ├╝zerinde ├žal─▒┼č─▒rken, yukar─▒ ak─▒┼č hatt─▒n─▒n veya ustan─▒n bile ┼čubenize dahil edilmeyen i┼čleri i├žermesi ve yanl─▒┼č bir ┼čekilde temel farklarda g├Âr├╝nmesi yayg─▒nd─▒r.

Giri┼č ak─▒┼č─▒n─▒z ta┼č─▒nm─▒┼čsa, ┼čunu yapmal─▒s─▒n─▒z:

 git fetch
git diff origin/master...
 

Sadece git diff master'─▒ kullanmak, ilgili de─či┼čiklikleri i├žerebilir veya dahil edemez.


15







IntelliJ IDEA kullan─▒yorsan─▒z , herhangi bir ┼čubeyi mevcut ├žal─▒┼čma ┼čubenizle de kar┼č─▒la┼čt─▒rabilirsiniz. Daha fazla bilgi i├žin http://www.jetbrains.com/idea/webhelp/merging-deleting-and-comparing-branches.html#d288093e3827 adresine bak─▒n . Bu ├╝cretsiz s├╝r├╝mde de mevcuttur.


9







Diyelim ki iki dal var

  • A (├ťzerinde ├žal─▒┼čt─▒─č─▒n─▒z ┼čube)
  • B (Kar┼č─▒la┼čt─▒rma yapmak istedi─činiz ba┼čka bir dal)

A dal─▒nda olmak yazabilirsiniz

 git diff --color B
 

o zaman bu size bir ├ž─▒kt─▒ verecek


g├Âr├╝nt├╝ tan─▒m─▒n─▒ buraya girin

Bu konuda ├Ânemli nokta

  1. Ye┼čil renkteki metin ┼×ube A'da mevcut

  2. K─▒rm─▒z─▒ metin B ┼×ubesinde bulunur


7







Burada ├žok fazla cevap var, ama genelde kulland─▒─č─▒m bir ┼čey eklemek istedim. Kar┼č─▒la┼čt─▒rma yapmak istedi─činiz dallardan birinde iseniz tipik olarak a┼ča─č─▒dakilerden birini yapar─▒m. Bu cevap u─čruna ikincil ┼čubemizde oldu─čumuzu s├Âyleyece─čiz. O s─▒rada hangi g├Âr├╝me ihtiyac─▒n─▒z oldu─čuna ba─čl─▒ olarak, hangisini se├žti─činize ba─čl─▒, ancak ├žo─ču zaman ikisinin ikinci se├žene─čini kullan─▒yorum. ─░lk se├ženek orijinal bir kopyaya geri d├Ânmeye ├žal─▒┼č─▒yorsan─▒z kullan─▒┼čl─▒ olabilir - her iki ┼čekilde de i┼či halledin!

Bu, master'─▒ i├žinde bulundu─čumuz ┼čubeyle kar┼č─▒la┼čt─▒racak (ikincil) ve orijinal kod eklenen sat─▒rlar olacak ve yeni kod kald─▒r─▒lan sat─▒rlar olarak kabul edilecektir.

 git diff ..master
 

VEYA

Bu ayn─▒ zamanda master'─▒ i├žinde bulundu─čumuz ┼čubeyle kar┼č─▒la┼čt─▒racak (ikincil) ve orijinal kod eski sat─▒rlar olacak ve yeni kod yeni sat─▒rlar olacak

 git diff master..
 

7


2017-05-31





 git diff revision_n revision_m
 

e─čer revision_n ve revision_m ard─▒┼č─▒k taahh├╝tlerde bulunursa , git show revision_m


0







GUI ├ž├Âz├╝m├╝ arayanlar i├žin Git Cola'n─▒n ├žok ho┼č bir "Branch Diff Viewer ( Diff -> Branches .. ) vard─▒r.


0







G├Ârsel bir fark da kullanabilirsiniz .

├ľrne─čin, Sourcetree kullan─▒yorsan─▒z , g├╝nl├╝k g├Âr├╝n├╝m├╝nde herhangi iki i┼člemi se├žebilirsiniz .

(Ki┼čisel olarak ├žo─ču durumda bunun i├žin bir GUI kullanmay─▒ tercih ediyorum ve bunu GUI se├ženeklerine a┼čina olmayanlara g├Ânderiyorum.)


0







GUI'den ho┼član─▒yorsan─▒z ve Windows kullan─▒yorsan─▒z, i┼čte kolay bir yol.

  1. WinMerge'i indirin
  2. ─░ki ┼čubeyi farkl─▒ klas├Ârlerde inceleyin
  3. WinMerge kullanarak klas├Âr kar┼č─▒la┼čt─▒rmal─▒ bir klas├Âr yap─▒n. ├çal─▒┼čt─▒─č─▒n─▒z dallardan biri ise kolayca de─či┼čiklik yapabilirsiniz.

-1







Dallar─▒ ├Ârne─čin TortoiseGit kullanarak de─či┼čtirilmi┼č dosyalar i├žin kolayca kar┼č─▒la┼čt─▒rabilirsiniz . Referanslara G├Âzat'a t─▒klay─▒n ve kar┼č─▒la┼čt─▒rmak istedi─činiz dallar─▒ se├žin.

Kar┼č─▒la┼čt─▒rmak ├ľrne─čin ┼čubenize ile usta sen de─či┼čecektir dosyalar─▒n bir sonu├ž listesi olarak alacak usta sen birle┼čtirmeye karar e─čer sizin-dal─▒ haline ustas─▒ .

Kar┼č─▒la┼čt─▒rmak e─čer farkl─▒ bir sonu├ž olaca─č─▒n─▒ remmber ustas─▒ ile sizin-┼čube ve your-┼čube ile usta .


-2



─░lgili yay─▒nlar


Sadece iki komisyon aras─▒nda de─či┼čen dosya isimleri nas─▒l listelenir?

Git'teki iki komisyon aras─▒nda de─či┼čtirilen sat─▒r say─▒s─▒n─▒ nas─▒l hesaplayabilirim?

─░ki komisyon aras─▒ndaki de─či┼čiklikleri arada g├Ârmeme nas─▒l yap─▒l─▒r?

Saat cinsinden iki tarih saat aras─▒ndaki fark─▒n g├Âsterilmesi

Diskte dosyalar de─či┼čti─činde Emacs'in t├╝m tamponlar─▒ otomatik olarak yenile┼čtirmesi nas─▒l sa─član─▒r?

─░ki Git komisyonu aras─▒nda de─či┼čen t├╝m dosyalar─▒n listesini nas─▒l alabilirim?

Hg s├╝r├╝mleri aras─▒nda dosyalar─▒n de─či┼čti─či bir liste olu┼čturma

Subversion'daki iki ├Âzel revizyon aras─▒ndaki fark─▒ nas─▒l ortaya ├ž─▒karabilirim?

AWS S3 iki kova aras─▒nda dosya ve klas├Ârleri kopyalar

svn diff'in iki bo┼čluk aras─▒nda sadece bo┼čluk olmayan sat─▒r de─či┼čikliklerini g├Âstermesi nas─▒l yap─▒l─▒r

Etiketle ilgili di─čer sorular [git]


Bash'te normal bir dosyan─▒n bulunmad─▒─č─▒n─▒ nas─▒l anlar─▒m?

Baytlar─▒ dizgiye d├Ân├╝┼čt├╝r

Python'da bir dize ters ├ževirme

C ├Âni┼člemcisi neden ÔÇťlinuxÔÇŁ kelimesini ÔÇť1ÔÇŁ sabiti olarak yorumluyor?

Veritaban─▒ ├Â─čeleriniz i├žin kaynak kontrol├╝ kullan─▒yor musunuz? [kapal─▒]

Neden ÔÇťwhile (! Feof (file))ÔÇŁ her zaman yanl─▒┼čt─▒r?

UIViewControllerÔÇÖ─▒n g├Âr├╝┼č├╝n├╝n g├Âr├╝n├╝r olup olmad─▒─č─▒ nas─▒l anla┼č─▒l─▒r

jQuery onay kutusunu de─či┼čtirin ve etkinli─či t─▒klay─▒n

Kotlin'deki Java statik y├Ântemlerinin kar┼č─▒l─▒─č─▒ nedir?

Etkinlikleri jQuery ile dinamik HTML ├Â─čelerine nas─▒l eklerim? [├žift]