Uzak Git ┼čubesini nas─▒l yarat─▒rs─▒n─▒z?


Al─▒nan cevaba git


Yukar─▒ do─čru 'bast─▒rmak' istedi─čim bir yerel ┼čube olu┼čturdum. Burada, yeni olu┼čturulan bir uzak ┼čubenin nas─▒l izlenece─či hakk─▒nda Stack Overflow'ta da benzer bir soru var.

Ancak i┼č ak─▒┼č─▒m biraz farkl─▒. ├ľncelikle yerel bir ┼čube olu┼čturmak istiyorum ve yaln─▒zca memnun oldu─čumda ve ┼čubemi payla┼čmak istedi─čimde onu yukar─▒ do─čru itece─čim.

  • Bunu nas─▒l yapar─▒m? (google aramalar─▒m hi├žbir ┼čeyle sonu├žlanmad─▒).
  • Meslekta┼člar─▒ma onu yukar─▒ havza deposundan ├žekmelerini nas─▒l s├Âylerim?

G├ťNCELLEME Git 2.0 ile a┼ča─č─▒da yazd─▒─č─▒m basit bir cevap var: https://stackoverflow.com/a/27185855/109305


3003









Cevap say─▒s─▒n─▒ say: 19






─░lk ├Ânce ┼čubenizi yerel olarak yarat─▒rs─▒n─▒z:

 git checkout -b <branch-name> # Create a new branch and check it out
 

Uzak dal, uzak sunucuya bast─▒─č─▒n─▒zda otomatik olarak olu┼čturulur. Bu y├╝zden haz─▒r hissetti─činizde yapabilecekleriniz:

 git push <remote-name> <branch-name> 
 

Nerede <remote-name> genellikle origin uzak sen klonlanm─▒┼č verdi─či git ad─▒. Meslekta┼člar─▒n─▒z o dal─▒ ├žeker ve otomatik olarak yerel olarak olu┼čturulur.

Bununla birlikte, resmi olarak, format─▒n:

 git push <remote-name> <local-branch-name>:<remote-branch-name>
 

Ancak birini atlad─▒─č─▒n─▒zda, her iki dal ad─▒n─▒n ayn─▒ oldu─čunu varsayar. Bunu s├Âylerken, bir uyar─▒ kelimesi olarak , yaln─▒zca :<remote-branch-name> (iki nokta ├╝st ├╝ste ile) belirleme konusunda kritik bir hata yapmay─▒n , yoksa uzak dal silinir!

B├Âylece bir m├╝teakip git pull ne yap─▒laca─č─▒n─▒ bilir, bunun yerine kullanmak isteyebilirsiniz:

 git push --set-upstream <remote-name> <local-branch-name> 
 

A┼ča─č─▒da a├ž─▒kland─▒─č─▒ gibi, --set-upstream se├ženek bir yukar─▒ ak─▒┼č dal─▒ olu┼čturur:

G├╝ncel veya ba┼čar─▒l─▒ bir ┼čekilde itilen her dal i├žin ba─č─▒ms─▒z de─či┼čken git-pull (1) ve di─čer komutlar taraf─▒ndan kullan─▒lan yukar─▒ ak─▒┼č (izleme) referans─▒ ekleyin.


3611


2009-10-05





─░lk ├Ânce ┼čubenizi yerel olarak olu┼čturmal─▒s─▒n─▒z

 git checkout -b your_branch
 

Bundan sonra ┼čubenizde yerel olarak ├žal─▒┼čabilirsiniz, ┼čubeyi payla┼čmaya haz─▒r oldu─čunuzda itin. Bir sonraki komut dal─▒ uzak havuza y├Ânlendirir ve onu izler

 git push -u origin your_branch
 

Tak─▒m arkada┼člar─▒ a┼ča─č─▒dakileri yaparak ┼čubenize ula┼čabilir:

 git fetch
git checkout origin/your_branch
 

Dalda ├žal─▒┼čmaya devam edebilir ve istedi─činiz zaman git push'a arg├╝manlar─▒ iletmeden itmeye devam edebilirsiniz (arg├╝mans─▒z git push, master'─▒ uzaktaki master'a, your_branch yerelinizi uzaktaki your_branch'─▒n─▒za vs.)

 git push
 

Ekip arkada┼člar─▒, taahh├╝tte bulunarak ┼čubenizi zorlayabilir ve daha sonra a├ž─▒k├ža itebilirler

 ... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch
 

Veya git push arg├╝manlar─▒ndan ka├ž─▒nmak i├žin ┼čubeyi izlemek

 git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push
 

854







Basit Git 2.0+ ├ž├Âz├╝m├╝:

─░tibariyle Git 2.0 davran─▒┼č daha basit hale gelmi┼čtir :

Git ile push.default = current hayat─▒ kolayla┼čt─▒racak ┼čekilde yap─▒land─▒rabilirsiniz :

Bunu ekledim, b├Âylece ┼čimdi yeni bir ┼čubeyi yukar─▒ do─čru aktarabilirim.

 $ git push -u
 

-u Ayn─▒ ad─▒ ta┼č─▒yan uzak ┼čubeyi izleyecektir. ┼×imdi bu konfig├╝rasyonla git push'a yap─▒lan uzak referans─▒ otomatik olarak tahmin edersiniz. G├Ânderen git.config belgeler :

push.default

A├ž─▒k├ža hi├žbir refspec belirtilmezse git push i┼čleminin ger├žekle┼čtirmesi gereken eylemi tan─▒mlar.

push.default = current - al─▒c─▒ u├žta ayn─▒ ada sahip bir dal─▒ g├╝ncellemek i├žin ge├žerli dal─▒ itin. Hem merkezi hem de merkezi olmayan i┼č ak─▒┼člar─▒nda ├žal─▒┼č─▒r.

Benim i├žin bu, g├╝nl├╝k Git i┼č ak─▒┼č─▒m─▒n basitle┼čtirilmesidir. Yap─▒land─▒rma ayar─▒, yerel olarak ┼čube ekleyip uzaktan olu┼čturmak istedi─činiz 'ola─čan' kullan─▒m durumuyla ilgilenir. Ayr─▒ca, uzaktan kumanda git co remote_branch_name kullanarak ( --set-upstream-to bayrak kullanmak yerine ) uzaktan yerel ┼čubeleri kolayca olu┼čturabilirim .

Bu soruyu biliyorum ve kabul edilen cevaplar olduk├ža eski, ancak davran─▒┼č de─či┼čti, b├Âylece i┼č ak─▒┼č─▒n─▒z─▒ daha kolay hale getirmek i├žin yap─▒land─▒rma se├ženekleri var.

Genel Git yap─▒land─▒rman─▒za eklemek i├žin bunu komut sat─▒r─▒nda ├žal─▒┼čt─▒r─▒n:

 $ git config --global push.default current
 

309







├ľnceki cevaplarda belirtildi─či gibi,

 git push <remote-name> <local-branch-name>:<remote-branch-name>
 

yerel bir ┼čubeyi itmek i├žin yeterlidir.

Meslekta┼člar─▒n─▒z, t├╝m uzak ┼čubeleri (yenileri de dahil olmak ├╝zere) bu komutla ├žekebilir:

 git remote update
 

Ard─▒ndan, dalda de─či┼čiklik yapmak i├žin normal ak─▒┼č:

 git checkout -b <local-branch-name> <remote-name>/<remote-branch-name>
 

76







Yerel olarak ge├žerli ┼čubeye g├Âre yeni bir ┼čube olu┼čturun:

 git checkout -b newbranch
 

Herhangi bir de─či┼čikli─či normalde yapt─▒─č─▒n─▒z gibi yap─▒n. Ard─▒ndan, yukar─▒ do─čru itin:

 git push -u origin HEAD
 

Bu, ge├žerli dal─▒ ayn─▒ ad─▒n bir dal─▒na itmek ve daha origin sonra belirtmeniz gerekmeyecek ┼čekilde izlemek i├žin kullan─▒lan bir k─▒sayoldur origin HEAD .


61







Mevcut ┼čubeden ┼čube olu┼čturmak istiyorsan─▒z

 git checkout -b {your_local_branch_name} 
 

Uzak bir ┼čubeden dal istiyorum, deneyebilirsiniz

 git checkout -b {your_local_branch_name} origin/<remote_branch_name>
 

De─či┼čiklikler bitti─činde dosyay─▒ ekleyebilirsiniz.

 git add -A or git add <each_file_names>
 

O zaman yerel olarak bir taahh├╝tte bulun

 git commit -m 'your commit message'
 

Uzak depoya gitmek istedi─činizde

 git push -u origin <your_local_branch_name>
 

Hep birlikte olacak

 git checkout -b bug_fixes 
 

veya Uzak bir ┼čubeden ┼čube olu┼čturmak istiyorsan─▒z, geli┼čtirme diyoruz.

git ├Âdeme -b bug_fixes kaynak / geli┼čtirme

┼×ubeye uzaktan repo g├Ânderebilirsiniz.

 git push -u origin bug_fixes
 

┼×ubenizi istedi─činiz zaman ba┼čka bir ┼čubeden g├╝ncellemek istedi─činizde usta diyoruz .

git pull origin master .


43







Ger├žekten yerel olan─▒ olmayan bir uzak ┼čube olu┼čturmak istiyorsan─▒z, bunu ┼č├Âyle yapabilirsiniz:

 git push origin HEAD:refs/heads/foo
 

HEAD'─▒n─▒z ne olursa olsun, uzaktan kumandada bulunmayan foo dal─▒n─▒ zorlar .


41







En Kolay ├ç├Âz├╝m ... Davul Rulo ... git versiyon 2.10.1 (Apple Git-78)

 1) git checkout -b localBranchNameThatDoesNotExistInRemote

2) Do your changes, and do a git commit 

3) git push origin localBranchNameThatDoesNotExistInRemote --force
 

NB - Yerel ortam─▒n─▒zda az ├Ânce olu┼čturdu─čunuz dal ile itmeye ├žal─▒┼čt─▒─č─▒n─▒z uzaktaki uzak dal ayn─▒ ada sahip olmal─▒d─▒r .


33


2017-03-18





─░lk ├Ânce ┼čubeyi yerel olarak olu┼čturursunuz:

 git checkout -b your_branch
 

Ve sonra ┼čubeyi uzaktan olu┼čturmak i├žin:

 git push --set-upstream origin your_branch
 

Not: Bu git'in en yeni s├╝r├╝mlerinde ├žal─▒┼č─▒r:

 $ git --version
git version 2.3.0
 

┼×erefe!


23







┼×ube yerel makinenizde olu┼čturun ve bu ┼čubeye ge├žin:

 $ git checkout -b [name_of_your_new_branch]
 

┼×ubeyi github'a itin:

 $ git push origin [name_of_your_new_branch]
 

┼×ubenizde bir ┼čey yapmak istedi─činizde ┼čubenizde bulundu─čunuzdan emin olun.

Kullanarak olu┼čturulan t├╝m dallar─▒ g├Ârebilirsiniz:

 $ git branch
 

Hangi g├Âsterecektir:

 * approval_messages
  master
  master_clean
 

┼×ubeniz i├žin yeni bir uzaktan kumanda ekleyin:

 $ git remote add [name_of_your_remote] 
 

Taahh├╝d├╝n├╝zdeki de─či┼čiklikleri ┼čubenize zorlay─▒n:

 $ git push origin [name_of_your_remote]
 

Resmi depodaki orijinal ┼čube g├╝ncellendi─činde ┼čubenizi g├╝ncelleyin:

 $ git fetch [name_of_your_remote]
 

Daha sonra ┼čubenizi geli┼čtirmeden t├╝retilmi┼čseniz, de─či┼čiklikleri birle┼čtirmek i├žin ba┼čvurman─▒z gerekir:

 $ git merge [name_of_your_remote]/develop
 

Yerel dosya sisteminizde bir dal silin:

 $ git branch -d [name_of_your_new_branch]
 

Yerel ┼čubenin silinmesini dosya sisteminizde zorlamak i├žin:

 $ git branch -D [name_of_your_new_branch]
 

Github'daki ┼čubeyi silin:

 $ git push origin :[name_of_your_new_branch]
 

─░┼čte T├╝m Bilgiler

Di─čer Mevcut proje


16







Mevcut bir ┼čubeden yerel bir ┼čube olu┼čturmak (usta / geli┼čme / ba┼čka bir dalda olabilir).

git ├Âdeme -b branch_name

Bunu uzaktan kumandaya it

git push -u uzak_ad─▒ local_branch_name: remote_branch_name

─░┼čte,

  1. -u: ak─▒┼č yukar─▒ dal─▒n─▒ ayarlar
  2. remote_name: git, depoyu olu┼čtururken ad─▒ varsay─▒lan olarak "kaynak" olarak ayarlar. Ancak bu, farkl─▒ bir iste─če ba─čl─▒ adla de─či┼čtirilebilir.
  3. local_branch_name: bas─▒lacak yerel dal─▒n ad─▒d─▒r.
  4. remote_branch_name: Uzaktan kumandada yaratmak istedi─čimiz uzak dal─▒n ad─▒d─▒r.

Yerel ve uzak dal adlar─▒n─▒ kald─▒r─▒rsak, format─▒ olacak

git push -u uzak_ad─▒ ┼čube_ad─▒

Bu, yerel ┼čubeyi uzak ve yerel dal ┼čubesi ad─▒ ile ayn─▒ ada sahip olacak ┼čekilde itecektir. Yerel ┼čube uzak ┼čubeyi de takip edecek.


12







Bu sorunun iyi yan─▒tland─▒─č─▒n─▒ biliyorum, ancak yeni bir ┼čube "myNewBranch" dal─▒ olu┼čturmak i├žin att─▒─č─▒m ad─▒mlar─▒ listelemek ve uzaktan ((benim a├ž─▒mdan "k├Âkenli") d├╝─čmesine bas─▒p izlemeyi ayarlamak istedim. Bunu "TL; DR" versiyonu olarak d├╝┼č├╝n├╝n :)

 # create new branch and checkout that branch
git checkout -b myNewBranch
# now push branch to remote 
git push origin myNewBranch
# set up the new branch to track remote branch from origin
git branch --set-upstream-to=origin/myNewBranch myNewBranch
 

9







┼×imdi git ile do─čru ┼čubedeyken yazabilirsiniz

git push --set-upstream origin <remote-branch-name >

ve git sizin i├žin men┼če ┼čubesini yarat─▒n.


8







Sadece ┼čunu eklemek istedim:

 git checkout -b {branchName}
 

Yeni bir ┼čube olu┼čturur, o ┼čubeyi kontrol eder / mevcut ┼čubenizi yapar. Bir nedenden ├Ât├╝r├╝, tek yapmak istedi─činiz bir daldan koparsa, fakat bunu ge├žerli dal─▒n─▒z yapmazsa, a┼ča─č─▒daki komutu kullan─▒rs─▒n─▒z:

 git branch {branchName}
 

─░lk komutta, "├Âdeme", s├Âz konusu ┼čubeyi ge├žerli ┼čubeniz yapar ve "-b" ┼ču anlama gelir: bu ┼čube hen├╝z mevcut de─čil, bu y├╝zden benim i├žin yap─▒n.


6







Kaynak A─ča├ž'ta Nas─▒l Yap─▒l─▒r?

  1: Open SourceTree, click on Repository -> Checkout
 2 :Click on Create New Branch
 3: Select branch where from you want to get code for new branch 
 4: Give your branch name
 5: Push the branch  (by click on Push button)
 

6







git push -u <remote-name> <branch-name> yeni olu┼čturulan ┼čubenin ayn─▒ depodan gelmesi durumunda i┼če yaramazsa, yani yeni ┼čubeyi kullanarak olu┼čturmad─▒ysan─▒z git checkout -b new_branch , bu i┼če yaramaz.

├ľrne─čin, yerel olarak iki farkl─▒ havuz klonlad─▒m ve repo2 / branch1'i repo1 / 'e kopyalamak zorunda kald─▒m ve sonra da bast─▒rd─▒m.

Bu ba─člant─▒, yerel ┼čubemi (ba┼čka bir repo'dan klonlanm─▒┼č) uzak repouma y├Ânlendirmeme yard─▒mc─▒ oldu:


5







2 dikte yapabilirsiniz:

1. checkout Yerel ┼čubeyi olu┼čturmak i├žin for ├Â─česini kullan─▒n :

 git checkout -b yourBranchName
 

2. push ┼×ubeyi otomatik olarak olu┼čturmak ve kodu uzak havuza g├Ândermek i├žin komutu kullan─▒n :

 git push -u origin yourBanchName
 

Bunu yapman─▒n mutiple yollar─▒ var ama bence bu yol ger├žekten basit.


4







─░┼čte, Egit ├╝zerinden tutulma ┼čeklini.

1) "Git Depo Ara┼čt─▒rmas─▒" g├Âr├╝n├╝m├╝ne gidin ve ┼čube olu┼čturmak istedi─činiz git projesini geni┼čletin. ┼×ubeler -> Yerel .. alt─▒nda ┼čubeyi olu┼čturmak istedi─činiz ┼čubeyi se├žin (Benim durumumda usta se├žtim .. isterseniz ba┼čka bir ┼čubeyi se├žebilirsiniz) .. sonra sa─č t─▒klay─▒n ve ┼×ube Olu┼čtur se├žene─čini t─▒klay─▒n. ve bu proje ├ž─▒k─▒┼č se├žene─čini se├žin ve ard─▒ndan bitir d├╝─čmesine t─▒klay─▒n.

2) ┼×imdi proje gezgininden projeyi se├žin .. sa─č t─▒klay─▒n ard─▒ndan Team -> Push Branch.

Yeni bir uzak dal olu┼čturulacak. ┼×ubenin ismini meslekta┼člar─▒n─▒za verebilirsiniz, b├Âylece onlar da ├žekebilir.


3







Bunu kullan─▒yorum ve olduk├ža kullan─▒┼čl─▒d─▒r:

 git config --global alias.mkdir '!git checkout -b $1; git status; git push -u origin $1; exit;'
 

Kullan─▒m: git mkdir NEW_BRANCH

Git durumuna bile ihtiyac─▒n─▒z yok; belki, sadece her ┼čeyin yolunda gitti─činden emin olmak istiyorum ...

YEREL ve UZAKTAN bir dalda tek bir komutla olabilir.


0



─░lgili yay─▒nlar


Git ┼čubesini yerel olarak ve uzaktan nas─▒l silerim?

Git deposunu belirli bir klas├Âre nas─▒l klonlars─▒n─▒z?

─░ki Git deposunu nas─▒l birle┼čtirirsiniz?

Git etiketini nas─▒l yeniden adland─▒r─▒rs─▒n─▒z?

ASP.NET MVC'deki bir enumdan bir a├ž─▒l─▒r listeyi nas─▒l olu┼čturabilirsiniz?

Git diff dosyas─▒n─▒ nas─▒l al─▒p, ayn─▒ havuzun bir kopyas─▒ olan yerel bir ┼čubeye nas─▒l uygulars─▒n─▒z?

PostgreSQL'de salt okunur bir kullan─▒c─▒y─▒ nas─▒l yarat─▒rs─▒n─▒z?

ASP.NET ├çekirde─činde ├Âzel bir AuthorizeAttribute nas─▒l olu┼čturulur?

Sat─▒r sonu veya yatay bo┼čluk olu┼čturmayan gizli bir div nas─▒l olu┼čturulur?

SQL sunucusunda evet / hay─▒r boole alan─▒ nas─▒l olu┼čturulur?

Etiketle ilgili di─čer sorular [git]


Bir form g├Ânderimi gibi JavaScript g├Ânderim iste─či

Liskov De─či┼čim Prensibi ├Ârne─či nedir?

<? Aras─▒ndaki fark S├╝per T> ve <? T> 'yi Java' da geni┼čletir [├žo─čalt]

Node.js En ─░yi Uygulama ─░stisna ─░┼čleme

Bir haritan─▒n Git'te bir anahtar i├žerip i├žermedi─či nas─▒l kontrol edilir?

PuTTy oturumlar─▒ listesini d─▒┼ča aktarma / i├že aktarma

pg_config ├žal─▒┼čt─▒r─▒labilir bulunamad─▒

Android'de bir SOAP web servisi nas─▒l aran─▒r [kapal─▒]

Spring @ Autowired alan─▒m neden bo┼č?

Bash Komutundan Bir Metin Dosyas─▒n─▒n ─░├žinde Bul ve De─či┼čtir