SORU
18 NİSAN 2011, PAZARTESİ


Tam olarak&; u " " ne iş yapar? &; git push-u origin master" vs "git push origin master""

Anlaşılan gıt kullanarak çok kötü, bunu anlamak için en iyi girişimlerine rağmen yapıyorum.

git push kernel.org:

-u

--- Yukarı ayarlayın

Güncel ya da başarılı bir şekilde yukarı itti katan her şube (izleme) için başvuru, argüman-az tarafından kullanılan git-pull(1) ve diğer komutları. Daha fazla bilgi için git-config branch.<name>.merge (1).

Burada branch.<name>.merge git config:

branch.<name>.merge

Birlikte branch.<name>.remote verilen şube için ters yönde şubesi ile tanımlar. Git/git birleştirmek için hangi Çek getir söyler ve aynı zamanda git push (bkz: itin.etkileyebilir varsayılan). Git bunu söylediğinde FETCH_HEAD içinde birleştirmek için işaretlenmesi için varsayılan refspec getir. Değeri bir refspec uzak bir parçası gibi ele alınır ve uzaktan "branch.<name>.remote" verdiği getirilen bir hakem aynı olmalıdır. Bilgileri Çek ilk başta git getir çağırır) tarafından birleştirilmesi için varsayılan şube arama için kullanılan birleştirme. Bu seçenek olmadan, git varsayılanları ilk refspec getirilen birleştirme çekme. Birden çok değer bir ahtapot birleştirme için belirtin. Eğer yerel depodaki başka bir daldan <name> içine birleştirir, böylece Çek Kur yapmak istiyorsanız, istediğiniz şube branch.<name>.merge işaret ve özel ayarı kullanabilirsiniz . branch.<name>.remote (bir dönem).

Ben başarıyla github ile uzaktaki bir depo kurmak, ve ben başarıyla benim ilk taahhüt itti:

git push -u origin master

O zaman ben de farkında olmadan başarılı bir şekilde itti benim ikinci uzaktan benim depoyu kullanarak taahhüt:

git commit -m '[...]'

Ancak, yine yanlış master, I origin tuşa basmak zorunda olduğumu düşünerek koştu:

# note: no -u
git push origin master

O ne yaptı? Herhangi bir etkiye sahip değildi. Ben "" git push -u origin master? geri mi

CEVAP
18 NİSAN 2011, PAZARTESİ


Anahtar değişkeni git-Çek"". git pull bir şube, bir kaynak belirtmeden uzaktan gelen veya bir şube ne zaman, git branch.<name>.merge ayarda çekmek için nerede olduğunu bilmek gibi görünüyor. git push -u zorluyorsun şube için bu bilgileri ayarlar.

Farkı görmek için, yeni boş bir şube kullanalım:

$ git checkout -b test

İlk olarak, -u geçirmedikçe:

$ git push origin test
$ git pull
You asked me to pull without telling me which branch you
want to merge with, and 'branch.test.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.

If you often merge with the same branch, you may want to
use something like the following in your configuration file:

    [branch "test"]
    remote = <nickname>
    merge = <remote-ref>

    [remote "<nickname>"]
    url = <url>
    fetch = <refspec>

See git-config(1) for details.

-u eklersek şimdi:

$ git push -u origin test
Branch test set up to track remote branch test from origin.
Everything up-to-date
$ git pull
Already up-to-date.

Bilgi izleme git pull beklendiği gibi, uzak ya da şube belirtmeden çalıştığı için ayarlanmış olduğunu unutmayın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Git

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DavidParody

    DavidParody

    17 EKİM 2009
  • foreignimage

    foreignimage

    13 HAZİRAN 2006
  • PUSHER

    PUSHER

    11 HAZİRAN 2014