Git ile de─či┼čen birden fazla dosyadan sadece bir tanesini sakla.


Al─▒nan cevaba git


┼×ubemdeki birden fazla de─či┼čtirilmi┼č dosyadan sadece birini nas─▒l saklayabilirim?


2850









Cevap say─▒s─▒n─▒ say: 29






G├╝ncelleme : A┼ča─č─▒daki cevap git 2.13'ten ├Ânceki git i├žindir. Git 2.13 ve ├╝st├╝ i├žin, daha a┼ča─č─▒ya bir ba┼čka cevap al─▒n .


Uyar─▒

Yorumlarda belirtildi─či gibi, bu her ┼čeyi hem sahnelenmi┼č hem de dengesiz olarak zulaya koyar. --Keep-index, stash yap─▒ld─▒ktan sonra dizini yaln─▒z b─▒rak─▒r. Bu, daha sonra stash'─▒ a├žt─▒─č─▒n─▒zda birle┼čtirme ├žak─▒┼čmalar─▒na neden olabilir.


Bu daha ├Ânce eklemedi─činiz her ┼čeyi saklar. Sadece git add saklamak istedi─čin ┼čeyleri yap, sonra ko┼č.

 git stash --keep-index
 

├ľrne─čin, eski bir taahh├╝d├╝ birden fazla de─či┼čiklik grubuna ay─▒rmak istiyorsan─▒z, bu prosed├╝r├╝ kullanabilirsiniz:

  1. git rebase -i <last good commit>
  2. Baz─▒ de─či┼čiklikleri olarak i┼čaretle edit .
  3. git reset HEAD^
  4. git add <files you want to keep in this change>
  5. git stash --keep-index
  6. Gerekti─či gibi i┼čleri d├╝zeltin. git add Herhangi bir de─či┼čiklik yapmay─▒ unutma .
  7. git commit
  8. git stash pop
  9. Gerekti─či gibi # 5'ten tekrarlay─▒n.
  10. git rebase --continue

1317







Ayr─▒ca kullanabilirsiniz git stash save -p "my commit message" . Bu ┼čekilde, hangi par├žalar─▒n saklanaca─č─▒n─▒ se├žebilir, t├╝m dosyalar da se├žilebilir.

Her ├Âbek i├žin birka├ž i┼člem yapman─▒z istenir:

    y - stash this hunk
   n - do not stash this hunk
   q - quit; do not stash this hunk or any of the remaining ones
   a - stash this hunk and all later hunks in the file
   d - do not stash this hunk or any of the later hunks in the file
   g - select a hunk to go to
   / - search for a hunk matching the given regex
   j - leave this hunk undecided, see next undecided hunk
   J - leave this hunk undecided, see next hunk
   k - leave this hunk undecided, see previous undecided hunk
   K - leave this hunk undecided, see previous hunk
   s - split the current hunk into smaller hunks
   e - manually edit the current hunk
   ? - print help
 

2932







Git temelde t├╝m depo i├žeri─čini ve indeksini (ve bir veya birka├ž dosyay─▒ de─čil) y├Ânetmekle ilgili oldu─ču i├žin git stash , ┼ča┼č─▒rt─▒c─▒ de─čilt├╝m ├žal─▒┼čma dizini ile.

Asl─▒nda Git 2.13'ten (2. ├çeyrek 2017), ayr─▒ ayr─▒ dosyalar─▒ ┼ču ┼čekilde saklayabilirsiniz git stash push :

 git stash push [--] [<pathspec>...]
 

Ne zaman pathspec 'verilir git stash push ', yeni zulas─▒ sadece pathspec e┼čle┼čen dosyalar i├žin modifiye durumlar─▒n─▒ kaydeder

Daha fazla bilgi i├žin bkz. " Belirli dosyalarda de─či┼čiklik yap─▒lmas─▒ ".

Test durumu a├ž─▒klay─▒c─▒d─▒r:

 test_expect_success 'stash with multiple pathspec arguments' '
    >foo &&
    >bar &&
    >extra &&
    git add foo bar extra &&

    git stash push -- foo bar &&   

    test_path_is_missing bar &&
    test_path_is_missing foo &&
    test_path_is_file extra &&

    git stash pop &&
    test_path_is_file foo &&
    test_path_is_file bar &&
    test_path_is_file extra
 

Orijinal cevap (a┼ča─č─▒da, Haziran 2010), saklamak istedi─činizi manuel olarak se├žmekle ilgiliydi.

Casebash yorum:

Bu ( stash --patch orijinal ├ž├Âz├╝m) g├╝zel, ancak ├žo─ču zaman bir├žok dosyay─▒ de─či┼čtirdim, bu y├╝zden yamay─▒ kullanmak can s─▒k─▒c─▒ bir durum

bukzor 'un cevab─▒ (oy verildi, Kas─▒m 2011)
git add +' ya git stash --keep-index dayanarak daha pratik bir ├ž├Âz├╝m ├Ânerdi .
Git ve resmi olan olmas─▒ gereken cevab─▒n─▒ (benimki yerine) g├Âr.

Bu se├ženek hakk─▒nda, chhh yorumlarda alternatif bir i┼č ak─▒┼č─▒na i┼čaret ediyor:

git reset --soft net bir ┼čekilde sahnelemeyi geri almak i├žin b├Âyle bir zahmetten sonra " " yapmal─▒s─▒n─▒z :
orijinal duruma ge├žmek i├žin - ki bu net bir evreleme alan─▒d─▒r ve sadece baz─▒ evrelendirilmemi┼č de─či┼čikliklerle, dizini yumu┼čak bir ┼čekilde s─▒f─▒rlayabilir. senin gibi bir ┼čeyi yapmak - bukzor - did).


(Orijinal cevab─▒ Haziran 2010: manuel stash)

Yine de, git stash save --patch pe┼činde oldu─čunuz k─▒smi saklamay─▒ ba┼čarman─▒za izin verebilir:

─░le --patch HEAD ile saklanacak ├žal─▒┼čma a─čac─▒ aras─▒ndaki farktan etkile┼čimli ├Ânsezileri se├žebilirsiniz.
Stash giri┼či, dizin durumu, deponuzun dizin durumu ile ayn─▒ olacak ┼čekilde olu┼čturulur ve ├žal─▒┼čma s─▒n─▒f─▒ yaln─▒zca etkile┼čimli olarak se├žti─činiz de─či┼čiklikleri i├žerir. Se├žilen de─či┼čiklikler ├žal─▒┼čma s─▒n─▒f─▒n─▒zdan geri al─▒n─▒r.

Ancak bu, tam dizini (zaten dizine eklenmi┼č di─čer dosyalar─▒ i├žerebilece─činden istedi─činizi olmayabilir) ve k─▒smi bir ├žal─▒┼čma bilgisini (saklamak istedi─činize benzeyebilecek) kaydedecektir.

 git stash --patch --no-keep-index
 

daha uygun olabilir.


├çal─▒┼čmazsa --patch , manuel bir i┼člem olabilir:

Bir veya birka├ž dosya i├žin, bir ara ├ž├Âz├╝m ┼č├Âyle olacakt─▒r:

  • Bunlar─▒ Git deposunun d─▒┼č─▒na kopyalay─▒n
    (Asl─▒nda, eleotlecram ilgin├ž bir alternatif ├Ânerir )
  • git stash
  • onlar─▒ geri kopyala
  • git stash # bu sefer, sadece istedi─činiz dosyalar saklanacak
  • git stash pop [email protected]{1} # t├╝m dosya de─či┼čikliklerinizi yeniden uygulay─▒n
  • git checkout -- afile # herhangi bir yerel de─či┼čiklikten ├Ânce dosyay─▒ HEAD i├žeri─čine s─▒f─▒rlay─▒n

Olduk├ža hantal bir s├╝recin sonunda, yaln─▒zca bir veya birka├ž dosya saklayacak.


390


2010-06-14





Ne zaman git stash -p (ya git add -p ile stash --keep-index ├žok k├╝lfetli olacakt─▒r), ben daha kolay kullanmak bulundu diff , checkout ve apply :

Yaln─▒zca belirli bir dosyay─▒ / dizini "saklamak" i├žin:

 git diff path/to/dir > stashed.diff
git checkout path/to/dir
 

Sonra sonra

 git apply stashed.diff
 

83







Bunun git stash push gibi kullan─▒n :

 git stash push [--] [<pathspec>...]
 

├ľrne─čin:

 git stash push -- my/file.sh
 

Bu, 2017 ilkbahar─▒nda yay─▒mlanan Git 2.13'ten beri kullan─▒labilir.


73







Diyelim ki 3 dosyan─▒z var

 a.rb
b.rb
c.rb
 

ve sadece b.rb ve c.rb'yi saklamak istiyorsunuz ancak a.rb'yi saklamak istemiyorsunuz

b├Âyle bir ┼čey yapabilirsin

 # commit the files temporarily you don't want to stash
git add a.rb
git commit -m "temp" 

# then stash the other files
git stash save "stash message"

# then undo the previous temp commit
git reset --soft HEAD^
git reset
 

Ve bitti! HTH.


45







Bunu yapman─▒n ba┼čka bir yolu:

 # Save everything
git stash 

# Re-apply everything, but keep the stash
git stash apply

git checkout <"files you don't want in your stash">

# Save only the things you wanted saved
git stash

# Re-apply the original state and drop it from your stash
git stash apply [email protected]{1}
git stash drop [email protected]{1}

git checkout <"files you put in your stash">
 

Ben (bir kez daha) bu sayfaya gelip ilk iki cevab─▒ be─čenmedim (ilk cevap sadece soruyu cevaplam─▒yor ve -p etkile┼čimli mod ile ├žal─▒┼čmaktan pek ho┼članmam─▒┼čt─▒m ) sonras─▒nda bununla kar┼č─▒la┼čt─▒m .

Bu fikir, @VonCÔÇÖin havuzun d─▒┼č─▒ndaki dosyalar─▒ kullanarak ├Ânerdi─či ile ayn─▒d─▒r, bir yerde istedi─činiz de─či┼čiklikleri kaydedersiniz, saklamak istemedi─činiz de─či┼čiklikleri kald─▒r─▒rs─▒n─▒z ve daha sonra d─▒┼čar─▒ ├ž─▒kard─▒─č─▒n─▒z de─či┼čiklikleri yeniden uygulars─▒n─▒z. Bununla birlikte, git stash'─▒n─▒ "bir yere" olarak kulland─▒m (ve sonu├ž olarak, sonunda bir ad─▒m daha att─▒: zula koydu─čun cahnlar─▒ kald─▒r, ├ž├╝nk├╝ bunlar─▒ yoldan ├ž─▒kard─▒n).


28







G├╝ncelleme (2/14/2015) - ├çak─▒┼čma olay─▒n─▒ daha iyi ele almak i├žin beti─či biraz yeniden yazd─▒m, ki bunlar art─▒k .rej dosyalar─▒ yerine birle┼čtirilmemi┼č ├žak─▒┼čmalar olarak sunulmal─▒.


@ Bukzor'un yakla┼č─▒m─▒n─▒n tersini yapmay─▒ genellikle daha sezgisel buluyorum. Ba┼čka bir deyi┼čle, baz─▒ de─či┼čiklikler yapmak ve ard─▒ndan yaln─▒zca bu a┼čamal─▒ de─či┼čiklikleri saklamak.

Ne yaz─▒k ki, git git - onlyly index ya da benzeri bir dosyaya gitmiyor, bu y├╝zden bunu yapmak i├žin bir yaz─▒ yazd─▒m.

 #!/bin/sh

# first, go to the root of the git repo
cd `git rev-parse --show-toplevel`

# create a commit with only the stuff in staging
INDEXTREE=`git write-tree`
INDEXCOMMIT=`echo "" | git commit-tree $INDEXTREE -p HEAD`

# create a child commit with the changes in the working tree
git add -A
WORKINGTREE=`git write-tree`
WORKINGCOMMIT=`echo "" | git commit-tree $WORKINGTREE -p $INDEXCOMMIT`

# get back to a clean state with no changes, staged or otherwise
git reset -q --hard

# Cherry-pick the index changes back to the index, and stash.
# This cherry-pick is guaranteed to succeed
git cherry-pick -n $INDEXCOMMIT
git stash

# Now cherry-pick the working tree changes. This cherry-pick may fail
# due to conflicts
git cherry-pick -n $WORKINGCOMMIT

CONFLICTS=`git ls-files -u`
if test -z "$CONFLICTS"; then
    # If there are no conflicts, it's safe to reset, so that
    # any previously unstaged changes remain unstaged
    #
    # However, if there are conflicts, then we don't want to reset the files
    # and lose the merge/conflict info.
    git reset -q
fi
 

Yukar─▒daki beti─či git-stash-index yolunuzdaki herhangi bir yer olarak kaydedebilir ve daha sonra git stash-index olarak ├ža─č─▒rabilirsiniz.

 # <hack hack hack>
git add <files that you want to stash>
git stash-index
 

┼×imdi stash, yaln─▒zca d├╝zenledi─činiz de─či┼čiklikleri i├žeren yeni bir giri┼č i├žeriyor ve ├žal─▒┼čma a─čac─▒n─▒z hala d├╝zenlenmemi┼č de─či┼čiklikleri i├žeriyor.

Baz─▒ durumlarda, ├žal─▒┼čma a─čac─▒ de─či┼čiklikleri dizin de─či┼čikliklerine ba─čl─▒ olabilir, bu nedenle dizin de─či┼čikliklerini saklad─▒─č─▒n─▒zda, ├žal─▒┼čma a─čac─▒ de─či┼čikliklerinde bir ├žak─▒┼čma olur. Bu durumda, git merge / git mergetool / etc ile ├ž├Âzebilece─činiz ola─čand─▒┼č─▒ ihtilafl─▒ ├žat─▒┼čmalar─▒ al─▒rs─▒n─▒z.


23







Git'te dallar olu┼čturmak ├Ânemsiz oldu─čundan, yaln─▒zca ge├žici bir dal olu┼čturabilir ve i├žine tek tek dosyalar─▒ kontrol edebilirsiniz.


18







Sadece ne zaman kullan─▒rsan─▒z de─či┼čikliklerden vazge├žmek istemeniz durumunda git stash (ve ge├žici olarak saklamak i├žin git stash kullanmay─▒n), bu durumda kullanabilirsiniz.

 git checkout -- <file>
 

[ NOT ]

Bu git stash , dallanma ve bir ┼čeyler yapmak i├žin daha h─▒zl─▒ ve basit bir alternatiftir.


12







A┼ča─č─▒daki kodu, ├Ârne─čin adland─▒r─▒lm─▒┼č bir dosyaya kaydedin stash . Kullan─▒m stash <filename_regex> . Arg├╝man, dosyan─▒n tam yolu i├žin normal ifadedir. ├ľrne─čin, a / b / c.txt saklamak i├žin stash a/b/c.txt ya da stash .*/c.txt , vb

 $ chmod +x stash
$ stash .*.xml
$ stash xyz.xml
 

Dosyaya kopyalanacak kod:

 #! /usr/bin/expect --
log_user 0
set filename_regexp [lindex $argv 0]

spawn git stash -p

for {} 1 {} {
  expect {
    -re "diff --git a/($filename_regexp) " {
      set filename $expect_out(1,string)
    }
    "diff --git a/" {
      set filename ""
    }
    "Stash this hunk " {
      if {$filename == ""} {
        send "n\n"
      } else {
        send "a\n"
        send_user "$filename\n"
      }
    }
    "Stash deletion " {
      send "n\n"
    }
    eof {
      exit
    }
  }
}
 

11







Statshed de─či┼čikliklerinizle birlikte bir mesaj belirtmek istemiyorsan─▒z, dosya ad─▒n─▒ bir ├žift tire ├žizgisinden sonra ge├žirin.

 $ git stash -- filename.ext
 

─░zlenmemi┼č / yeni bir dosyaysa, ├Ânce onu yerle┼čtirmeniz gerekir.

Bu y├Ântem git s├╝r├╝m 2.13+ s├╝r├╝m├╝nde ├žal─▒┼č─▒r.


10







VonC'nin ÔÇťortaÔÇŁ dosyalar─▒n─▒n Git deposunun d─▒┼č─▒na kopyalanmas─▒ konusundaki problemi, yol bilgisini kaybetmenizdir, bu da bir grup dosyay─▒ kopyalamay─▒ biraz daha zorla┼čt─▒r─▒r.

Kopyalama yerine katran (benzer ara├žlar muhtemelen kullanacakt─▒r) kullanmay─▒ daha kolay bulur:

  • tar cvf /tmp/stash.tar yol / i├žin / baz─▒ / dosya yolu / i├žin / baz─▒ / di─čer / dosya (... vs.)
  • Git ├ž─▒k─▒┼č yolu / i├žin / baz─▒ / dosya yolu / i├žin / baz─▒ / di─čer / dosya
  • Git stash
  • tar xvf /tmp/stash.tar
  • vb. (bak─▒n─▒z VonC'nin 'orta' ├Âneri)

7







Bazen bunu yapmadan ├Ânce ┼čubemde alakas─▒z bir de─či┼čiklik yapt─▒m ve ba┼čka bir ┼čubeye ta┼č─▒mak ve ayr─▒ ayr─▒ (usta gibi) i┼člemek istiyorum. Bunu yap─▒yorum:

 git stash
git checkout master
git stash pop
git add <files that you want to commit>
git commit -m 'Minor feature'
git stash
git checkout topic1
git stash pop
...<resume work>...
 

Birincisinin stash ve stash pop elimine edilebilece─čini unutmay─▒n; master ├Âdeme yaparken t├╝m de─či┼čikliklerinizi ┼čubeye ta┼č─▒yabilirsiniz , ancak yaln─▒zca ├žak─▒┼čma yoksa. Ayr─▒ca k─▒smi de─či┼čiklikler i├žin yeni bir ┼čube olu┼čturuyorsan─▒z, stash'a ihtiyac─▒n─▒z olacak.

Herhangi bir ├žak─▒┼čma olmad─▒─č─▒n─▒ ve yeni dal olmad─▒─č─▒n─▒ varsayarak basitle┼čtirebilirsiniz:

 git checkout master
git add <files that you want to commit>
git commit -m 'Minor feature'
git checkout topic1
...<resume work>...
 

Saklamak bile gerekmez ...


7







SourceTree kullanarak bu 3 ad─▒mda kolayca yap─▒labilir.

  1. Saklanmak istemedi─činiz her ┼čeyi ge├žici olarak taahh├╝t edin.
  2. Git her ┼čeyi ekleyin, sonra saklay─▒n.
  3. Ge├žici s─▒f─▒rlama i┼člemini ger├žekle┼čtirerek ge├žici onaylama i┼čleminizi ger├žekle┼čtirin, ge├žici i┼člemden ├Ânce onaylamay─▒ hedefleyin.

Bu i┼člem, SourceTree'de birka├ž saniye i├žinde yap─▒labilir; burada eklemek istedi─činiz dosyalar─▒ (veya tek tek sat─▒rlar─▒) t─▒klayabilirsiniz. Eklendikten sonra, ge├žici bir taahh├╝tte bulunmalar─▒n─▒ sa─člay─▒n. Ard─▒ndan, t├╝m de─či┼čiklikleri eklemek i├žin onay kutusuna t─▒klay─▒n, ard─▒ndan her ┼čeyi saklamak i├žin stash'a t─▒klay─▒n. Statshed de─či┼čimlerden ├ž─▒kt─▒ktan sonra, i┼člem listene g├Âz at ve ge├žici taahh├╝d├╝nden ├Ânce i┼člem i├žin hash'e dikkat et, sonra da ┼čubenizi s─▒f─▒rlayarak i┼člemi "s─▒f─▒rlamaya" benzeyen 'git reset hash_b4_temp_commit' komutunu ├žal─▒┼čt─▒r─▒n. hemen ├Ânce taahh├╝t. ┼×imdi, istiflenmesini istemedi─čin ┼čeylerden ayr─▒ld─▒n.


7







Kullan─▒rd─▒m git stash save --patch . Etkileyicili─či sinir bozucu bulmuyorum, ├ž├╝nk├╝ istenen i┼člemi t├╝m dosyalara uygulamak i├žin se├ženekler var.


7







Bunu basitle┼čtirebilirsiniz:

 git stash push "filename"
 

veya iste─če ba─čl─▒ bir mesajla

 git stash push -m "Some message" "filename"
 

7







Buradaki her cevap ├žok karma┼č─▒k.

Peki ya "saklamak":

 git diff /dir/to/file/file_to_stash > /tmp/stash.patch
git checkout -- /dir/to/file/file_to_stash
 

Bu dosya de─či┼čikli─čini geri almak i├žin:

 git apply /tmp/stash.patch
 

Bir dosyay─▒ saklamak ve tekrar i├žine sokmakla ayn─▒ davran─▒┼č─▒ yap─▒n.


6







Bu konudaki cevaplar─▒ ve yorumlar─▒ ve benzer konular─▒ inceledim. Belirli herhangi bir izlenen / izlenmeyen dosyay─▒ saklayabilmek i├žin a┼ča─č─▒daki komutlar─▒n hi├žbirinin do─čru olmad─▒─č─▒na dikkat edin :

  • git stash -p (--patch) : izsiz dosyalar─▒ hari├ž, manuel olarak hunks se├ž
  • git stash -k (--keep-index) : t├╝m izlenen / izlemeyen dosyalar─▒ sakla ve ├žal─▒┼čma dizininde tut
  • git stash -u (--include-untracked) : t├╝m izlenen / izlenmeyen dosyalar─▒ sakla
  • git stash -p (--patch) -u (--include-untracked) : ge├žersiz komut

┼×u anda, belirli herhangi bir izlenen / izlenmeyen dosyay─▒ saklayabilmenin en makul y├Ântemi ┼čudur:

  • Saklamak istemedi─činiz dosyalar─▒ ge├žici olarak i┼čleyin
  • Ekle ve sakla
  • Ge├žici taahh├╝t Pop

Ba┼čka bir soruya cevaben bu prosed├╝r i├žin basit bir senaryo yazd─▒m ve burada SourceTree'de prosed├╝r├╝ ger├žekle┼čtirme ad─▒mlar─▒ var .


3







├ç├Âz├╝m

Yerel de─či┼čiklikler:

  • file_A (de─či┼čtirilmi┼č) a┼čamal─▒ de─čil
  • file_B (de─či┼čtirilmi┼č) a┼čamal─▒ de─čil
  • file_C (de─či┼čtirilmi┼č) a┼čamal─▒ de─čil

Yaln─▒zca file_C'deki de─či┼čikliklerle bir "my_stash" ├Â─česi olu┼čturmak i├žin :

 1. git add file_C
2. git stash save --keep-index temp_stash
3. git stash save my_stash
4. git stash pop [email protected]#{1}
 

Bitti.


a├ž─▒klama

  1. haz─▒rlama alan─▒na file_C ekle
  2. "temp_stash" ad─▒nda ge├žici bir stash olu┼čturun ve de─či┼čiklikleri file_C ├╝zerinde tutun
  3. ─░stenilen stash'─▒ ("my_stash") sadece file_C ├╝zerindeki de─či┼čikliklerle olu┼čturun
  4. yerel kodunuzda "temp_stash" (dosya_A ve dosya_B) 'daki de─či┼čiklikleri uygulay─▒n ve saklamay─▒ silin

Neler olup bitti─čini g├Ârmek i├žin ad─▒mlar aras─▒ndaki git durumunu kullanabilirsiniz .


3







Bu durumda ben git add -p (etkile┼čimli) git commit -m blah ve sonra gerekirse kalan─▒ saklar─▒m.


2







─░ki dal aras─▒nda ge├ži┼č yapmaya ├žal─▒┼čt─▒─č─▒n─▒zda, bu durum olu┼čur.

" git add filepath " Kullanarak dosyalar─▒ eklemeye ├žal─▒┼č─▒n .

Daha sonra bu sat─▒r─▒ ├žal─▒┼čt─▒r

git stash --keep-index


2







Tek bir dosyay─▒ saklamak i├žin kullan─▒n git stash --patch [file] .

Bu istem gidiyor: Stash this hunk [y,n,q,a,d,j,J,g,/,e,?]? ? . Sadece a (bu ├Âbek ve daha sonra t├╝m ├Âbekleri dosyaya stash) yaz─▒n ve iyisin.


2







 git add .                           //stage all the files
git reset <pathToFileWillBeStashed> //unstage file which will be stashed
git stash                           //stash the file(s)
git reset .                         // unstage all staged files
git stash pop                       // unstash file(s)
 

2







Benzer durum. Taahh├╝t ve tamam olmad─▒─č─▒n─▒ anlad─▒m.

 git commit -a -m "message"
git log -p
 

Cevaplara dayanarak bu bana yard─▒mc─▒ oldu.

 # revert to previous state, keeping the files changed
git reset HEAD~
#make sure it's ok
git diff
git status
#revert the file we don't want to be within the commit
git checkout specs/nagios/nagios.spec
#make sure it's ok
git status
git diff
#now go ahead with commit
git commit -a -m "same|new message"
#eventually push tu remote
git push
 

1







Komut sat─▒r─▒nda nas─▒l yap─▒l─▒r bilmiyorum, sadece SourceTree kullanarak. A dosyas─▒n─▒ de─či┼čtirdi─činizi ve B dosyas─▒nda iki de─či┼čiklik toplulu─čuna sahip oldu─čunuzu varsayal─▒m. B dosyas─▒nda yaln─▒zca ikinci par├žay─▒ saklamak ve di─čer her ┼čeyi el de─čmeden b─▒rakmak istiyorsan─▒z, ┼čunu yap─▒n:

  1. Her ┼čeyi sahne
  2. ├çal─▒┼čma kopyan─▒zda, A dosyas─▒ndaki t├╝m de─či┼čiklikleri geri alan de─či┼čiklikler yap─▒n (├Ârne─čin, harici diff arac─▒n─▒ ├žal─▒┼čt─▒r─▒n ve dosyalar─▒ e┼čle┼čtirin.)
  3. B dosyas─▒n─▒, sadece ikinci bir de─či┼čiklik uygulanm─▒┼č gibi g├Âr├╝nmesini sa─člay─▒n. (├Ârne─čin, harici fark arac─▒n─▒ ├žal─▒┼čt─▒r─▒n ve ilk de─či┼čikli─či geri al─▒n.)
  4. "A┼čamal─▒ de─či┼čiklikleri koru" se├žene─čini kullanarak bir stash olu┼čturun.
  5. Her ┼čeyden bahsedin
  6. Bitti!

1







Karma┼č─▒k bir yol ilk ├Ânce her ┼čeyi yapmakt─▒r:

 git add -u
git commit // creates commit with sha-1 A
 

Orijinal i┼čleme geri d├Ân├╝n, ancak yeni i┼člemden the_one_file dosyas─▒n─▒ al─▒n:

 git reset --hard HEAD^
git checkout A path/to/the_one_file
 

┼×imdi the_one_file dosyas─▒n─▒ saklayabilirsiniz:

 git stash
 

Orijinal i├žeri─če geri y├╝klerken, taahh├╝t edilen i├žeri─či dosya sisteminize kaydederek temizleme:

 git reset --hard A
git reset --soft HEAD^
 

Evet, biraz garip ...


0







─░htiyac─▒m olan ┼čey i├žin cevap bulamad─▒m ve bu kadar kolay:

 git add -A
git reset HEAD fileThatYouWantToStash
git commit -m "committing all but one file"
git stash
 

Bu tam olarak bir dosyay─▒ saklar.


0







H─▒zl─▒ cevap


Git'teki belirli bir de─či┼čtirilmi┼č dosyay─▒ geri almak i├žin a┼ča─č─▒daki sat─▒r─▒ yapabilirsiniz:

 git checkout <branch-name> -- <file-path>
 

─░┼čte ger├žek bir ├Ârnek:

 git checkout master -- battery_monitoring/msg_passing.py
 


0



─░lgili yay─▒nlar


Java'da bir dosyan─▒n dosya uzant─▒s─▒n─▒ nas─▒l alabilirim?

Birden fazla d├Âng├╝den nas─▒l ayr─▒l─▒r?

.NET kullanarak, bir dosyan─▒n mime t├╝r├╝n├╝ uzant─▒ya de─čil dosya imzas─▒na g├Âre nas─▒l bulabilirsiniz?

Visual Studio 2010, her zaman projenin g├╝ncel olmad─▒─č─▒n─▒ d├╝┼č├╝n├╝yor, ancak hi├žbir ┼čey de─či┼čmedi

Dosyan─▒n sadece ilk sat─▒r─▒n─▒ oku?

Normal bir ifadeyle e┼čle┼čen ilk sat─▒rdan sonra bir dosyan─▒n par├žas─▒ nas─▒l elde edilir?

Birden fazla dosyan─▒n i├žeri─čini bir dosyaya nas─▒l ekleyebilirim?

Yok say─▒lan dosyalar─▒ git durumdan uzak tut

Php kullanarak birden fazla dosyay─▒ zip dosyas─▒ olarak indirin

Birden fazla dosyadan olu┼čan Go program─▒ nas─▒l derlenir?

Etiketle ilgili di─čer sorular [git]


Pip'i macOS veya OS X'e nas─▒l kurar─▒m?

Bir bayt dizisini onalt─▒l─▒k bir dizeye nas─▒l d├Ân├╝┼čt├╝rebilirsiniz?

ÔÇťGit taahh├╝tÔÇŁ ve ÔÇťgit itmeÔÇŁ aras─▒ndaki farklar nelerdir?

Bu i┼člem tamamlanamad─▒. Tekrar Dene (-22421)

Sorgu dizesi parametrelerinin Java URL kodlamas─▒

Yabanc─▒ anahtar k─▒s─▒tl─▒ bir tablonun kesilmesi nas─▒l yap─▒l─▒r?

Node.js ile bir komut sat─▒r─▒ ikili ├žal─▒┼čt─▒rma

Bir SQLite veritaban─▒na bir defada birden fazla sat─▒r eklemek m├╝mk├╝n m├╝d├╝r?

Link vs derleyici vs denetleyicisi

# 1071 - Belirtilen anahtar ├žok uzundu; maksimum anahtar uzunlu─ču 767 baytt─▒r