Yeni bir yerel ┼čubeyi uzak Git deposuna nas─▒l iter ve onu nas─▒l izlerim?


Al─▒nan cevaba git


A┼ča─č─▒dakileri yapabilmek istiyorum:

  1. Di─čer (uzak veya yerel) bir dal─▒ temel alan bir yerel ┼čube olu┼čturun (via git branch veya git checkout -b )

  2. Yerel ┼čubeyi uzak havuza itin (yay─▒nlay─▒n), ancak izlenebilir hale getirin git pull ve git push hemen ├žal─▒┼čacak.

Bunu nas─▒l yapar─▒m?

--set-upstream Git 1.7'de biliyorum ama bu bir yarat─▒l─▒┼č sonras─▒ eylem. ┼×ubeyi uzak havuza iterken benzer bir de─či┼čiklik yapman─▒n bir yolunu bulmak istiyorum.


4122









Cevap say─▒s─▒n─▒ say: 14






Git 1.7.0 ve sonras─▒nda, yeni bir ┼čubeye g├Âz atabilirsiniz:

 git checkout -b <branch>
 

Dosyalar─▒ d├╝zenleyin, ekleyin ve kabul edin. Sonra birlikte itmek -u (k─▒sa --set-upstream ) se├žene─či:

 git push -u origin <branch>
 

Git, itme s─▒ras─▒nda izleme bilgilerini ayarlayacakt─▒r.


6372







Reponuzu ba┼čkalar─▒yla payla┼čm─▒yorsan─▒z, t├╝m ┼čubelerinizi uzaktan kumandaya itmek ve --set-upstream sizin i├žin do─čru ┼čekilde takip etmek yararl─▒ olacakt─▒r :

 git push --all -u
 

(OP'nin tam olarak istedi─či ┼čey de─čildi, ama bu tek g├Âmlek olduk├ža pop├╝ler)

Repo'nuzu ba┼čkalar─▒ ile payla┼č─▒yorsan─▒z, bu ger├žekten iyi bir form de─čildir, ├ž├╝nk├╝ repoyu t├╝m tehlikeli deney dallar─▒n─▒zla t─▒kayacaks─▒n─▒z.


478







Giri┼činden ├Ânce, istedi─činizi elde etmek git push -u i├žin hi├žbir git push se├ženek yoktu . Yeni yap─▒land─▒rma ifadeleri eklemek zorundayd─▒n─▒z.

A┼ča─č─▒dakileri kullanarak yeni bir ┼čube olu┼čturursan─▒z:

 $ git checkout -b branchB
$ git push origin branchB:branchB
 

git config Do─črudan .git/config dosyay─▒ d├╝zenlemekten ka├ž─▒nmak i├žin komutu kullanabilirsiniz .

 $ git config branch.branchB.remote origin
$ git config branch.branchB.merge refs/heads/branchB
 

Veya .git/config bu ┼čubeye ait izleme bilgilerine sahip olmak ├╝zere dosyay─▒ el ile d├╝zenleyebilirsiniz .

 [branch "branchB"]
    remote = origin
    merge = refs/heads/branchB
 

147







Basit├že s├Âylemek gerekirse, yeni bir yerel ┼čube olu┼čturmak i├žin ┼čunlar─▒ yap─▒n:

 git branch <branch-name>
 

Uzak havuza itmek i├žin ┼čunlar─▒ yap─▒n:

 git push -u origin <branch-name>
 

125







Zaten burada verilen ├ž├Âz├╝mlerin k├╝├ž├╝k bir varyasyonu:

  1. Ba┼čka bir uzak (yerel veya uzak) dal─▒ temel alan yerel bir ┼čube olu┼čturun:

     git checkout -b branchname
     
  2. Yerel ┼čubeyi uzak havuza itin (yay─▒nlay─▒n), ancak izlenebilir hale getirin git pull ve git push hemen ├žal─▒┼čacak

     git push -u origin HEAD
     

    Kullanmak HEAD , "ge├žerli dal─▒ uzaktan kumandada ayn─▒ ada itmek i├žin kullan─▒┼čl─▒ bir yoldur". Kaynak: https://git-scm.com/docs/git-push Git teriminde, HEAD (b├╝y├╝k harflerle), ge├žerli dal─▒n (a─ča├ž) tepesine bir referanst─▒r.

    -u Se├ženek i├žin sadece k─▒sa --set-setupstream . Bu, ge├žerli dal i├žin yukar─▒ ak─▒┼č izleme referans─▒ ekleyecektir. Bunu, .git / config dosyas─▒na bakarak do─črulayabilirsiniz:


    Resim tan─▒m─▒n─▒ buraya girin


86







Ben sadece yapar─▒m

 git push -u origin localBranch:remoteBranchToBeCreated
 

zaten klonlanm─▒┼č bir proje ├╝zerinde.

Git remoteBranchToBeCreated yapt─▒─č─▒m taahh├╝tler alt─▒nda yeni bir ┼čube olu┼čturuyor localBranch .

D├╝zenleme : Bu, ge├žerli yerel ┼čubenizin (muhtemelen adland─▒r─▒lm─▒┼č localBranch ) yukar─▒ ak─▒┼č─▒n─▒ de─či┼čtirir origin/remoteBranchToBeCreated . Bunu d├╝zeltmek i├žin ┼čunu yaz─▒n:

 git branch --set-upstream-to=origin/localBranch
 

B├Âylece ┼ču anki yerel ┼čubeniz art─▒k origin/localBranch geri d├Ân├╝yor


43


2017-03-20





San─▒r─▒m zaten b├Âyle bir projeyi klonlad─▒n─▒z:

 git clone http://github.com/myproject.git
 
  1. Ard─▒ndan yerel kopyan─▒zda yeni bir dal olu┼čturun ve kontrol edin:

     git checkout -b <newbranch>
     
  2. Sunucunuzda "git bare - init" yapt─▒─č─▒n─▒z─▒ ve myapp.git dosyas─▒n─▒ yaratt─▒─č─▒n─▒z─▒ varsayal─▒m:

     git remote add origin ssh://example.com/var/git/myapp.git
    git push origin master
     
  3. Bundan sonra, kullan─▒c─▒lar yapabilmeli

     git clone http://example.com/var/git/myapp.git
     

NOT: Sunucunuzun kurulup ├žal─▒┼čt─▒─č─▒n─▒ varsayal─▒m. Olmazsa, i┼če yaramaz. ─░yi bir nas─▒l yap─▒l─▒r burada .

KATMA

Uzak dal ekleyin:

 git push origin master:new_feature_name
 

Her ┼čeyin yolunda olup olmad─▒─č─▒n─▒ kontrol edin (k├Âkeni al─▒n ve uzaktaki dallar─▒ listeler):

 git fetch origin
git branch -r
 

Yerel bir ┼čube olu┼čturun ve uzak ┼čubeyi izleyin:

 git checkout -tb new_feature_name origin/new_feature_name
 

Her ┼čeyi g├╝ncelle:

 git pull
 

30


2010-05-04





d├╝zenlemek Outdated, just use git push -u origin $BRANCHNAME


Kullan─▒m git publish-branch gelen William'─▒n muhtelif Git ara├žlar─▒ ( gitorious repo ve klon ).

Tamam, hay─▒r Ruby, yani - korumalar─▒ g├Ârmezden geliyorum! - beti─čin son ├╝├ž sat─▒r─▒n─▒ al─▒n ve bir bash beti─či olu┼čturun git-publish-branch :

 #!/bin/bash
REMOTE=$1 # Rewrite this to make it optional...
BRANCH=$2
# Uncomment the following line to create BRANCH locally first
#git checkout -b ${BRANCH}
git push ${ORIGIN} ${BRANCH}:refs/heads/${BRANCH} &&
git config branch.${BRANCH}.remote ${REMOTE} &&
git config branch.${BRANCH}.merge refs/heads/${BRANCH}
 

Ard─▒ndan git-publish-branch REMOTENAME BRANCHNAME REMOTENAME genellikle kaynak kodluyken ├žal─▒┼čt─▒r─▒n (beti─či varsay─▒lan olarak kaynak kodlu olacak ┼čekilde de─či┼čtirebilirsiniz, vb.)


23







Mevcut bir ┼čubeden ayr─▒larak yeni bir ┼čube olu┼čturmak i├žin

 git checkout -b <new_branch>
 

ve sonra bu yeni ┼čubeyi kullanarak depoya itin

 git push -u origin <new_branch>
 

Bu, t├╝m yerel taahh├╝tleri olu┼čturur ve yeni olu┼čturulan bir uzak ┼čubeye iter origin/<new_branch>


23







1.7'den ├Ânceki GitLab s├╝r├╝m├╝ i├žin ┼čunlar─▒ kullan─▒n:

 git checkout -b name_branch
 

(name_branch, ├Ârn: master )

Uzak havuza itmek i├žin ┼čunlar─▒ yap─▒n:

 git push -u origin name_new_branch
 

(name_new_branch, ├Ârne─čin: feature )


13







Bir takma ad yapt─▒m, b├Âylece ne zaman yeni bir ┼čube olu┼čtursam, uzaktaki dal─▒ buna g├Âre itecek ve izleyecektir. A┼ča─č─▒daki ├Âbek .bash_profile dosyaya koydum :

 # Create a new branch, push to origin and track that remote branch
publishBranch() {
  git checkout -b $1
  git push -u origin $1
}
alias gcb=publishBranch
 

Kullan─▒m─▒ : Sadece tipi gcb thuy/do-sth-kool ile thuy/do-sth-kool benim yeni ┼čube ad─▒d─▒r.


10







Buradaki cevaplara biraz dayanarak, bu i┼člemi elbette Git takma ad─▒ olarak da kullan─▒labilecek basit bir Bash beti─či olarak tamamlad─▒m.

Bana g├Âre ├Ânemli olan ┼čey, bunun taahh├╝t etmeden ├Ânce birim s─▒namalar─▒ yapmam─▒ ve mevcut dal ad─▒na varsay─▒lan olarak ge├žmesini istemesi.

 $ git_push_new_branch.sh

  Have you run your unit tests yet? If so, pass OK or a branch name, and try again

  usage: git_push_new_branch {OK|BRANCH_NAME}

  e.g.

  git_push_new_branch           -> Displays prompt reminding you to run unit tests
  git_push_new_branch OK        -> Pushes the current branch as a new branch to the origin
  git_push_new_branch MYBRANCH  -> Pushes branch MYBRANCH as a new branch to the origin
 

git_push_new_branch.sh

 function show_help()
{
  IT=$(cat <<EOF

  Have you run your unit tests yet? If so, pass OK or a branch name, and try again

  usage: git_push_new_branch {OK|BRANCH_NAME}

  e.g.

  git_push_new_branch.sh           -> Displays prompt reminding you to run unit tests
  git_push_new_branch.sh OK        -> Pushes the current branch as a new branch to the origin
  git_push_new_branch.sh MYBRANCH  -> Pushes branch MYBRANCH as a new branch to the origin

  )
  echo "$IT"
  exit
}

if [ -z "$1" ]
then
  show_help
fi

CURR_BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ "$1" == "OK" ]
then
  BRANCH=$CURR_BRANCH
else
  BRANCH=${1:-$CURR_BRANCH}
fi

git push -u origin $BRANCH
 

5







2 dikte yapabilirsiniz:

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

 git checkout -b yourBranchName
 

┼×ubenizle istedi─činiz gibi ├žal─▒┼č─▒n.

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.


0







Bir genel veri havuzunun yerel ┼čubenizi y├╝klemek i├žin, genel veri havuzuna gitmeniz cd ve ard─▒ndan a┼ča─č─▒daki kodu kullanman─▒z gerekir:

 git push -u origin branchname
 

-7



─░lgili yay─▒nlar


Yerel ve uzak Git depolar─▒ i├žin ana dal─▒ yeniden adland─▒r

Yerel ┼čubeyi Git'teki uzak ┼čubeyle nas─▒l de─či┼čtiririm?

De─či┼čtirilmi┼č uzak Git deposuna ba─čl─▒l─▒─č─▒ nas─▒l zorlayabilirim?

De─či┼čikliklerimi git alt mod├╝l├╝ne nas─▒l d├Ând├╝rebilirim?

Uzak Git deposunun yaln─▒zca bir kolunu nas─▒l al─▒r─▒m?

Uzak Git deposundan nas─▒l ├žeker ve yerel depomdaki de─či┼čiklikleri nas─▒l ge├žersiz k─▒labilirim? [├žift]

RSpec'i genel olarak '--color' ve '--format specdoc' se├ženeklerini a├ž─▒k tutmak i├žin nas─▒l yap─▒land─▒rabilirim?

Git deposundan yama veya fark dosyas─▒ olu┼čtur ve ba┼čka bir git deposuna uygula

─░zlenen bir uzak daldaki de─či┼čikliklerle yerel bir ┼čubeyi g├╝ncelleme

Yerel de─či┼čiklikler bitbucket'teki uzak git deposuna nas─▒l itilir

Etiketle ilgili di─čer sorular [git]


Yerel dosyalar─▒n ├╝zerine ÔÇťgit pullÔÇŁ u nas─▒l zorlar─▒m?

ana dal ve 'k├Âkeni / ana' birbirinden uzakla┼čt─▒, 'dallar─▒' nas─▒l 'ayr─▒lmal─▒'?

Liste <Dog>, <Animal> Listesinin bir alt s─▒n─▒f─▒ m─▒? Neden Java jenerikleri dolayl─▒ olarak polimorfik de─čil?

Terminaldeki mevcut sat─▒r─▒ nas─▒l silebilir / silebilirim?

Scala vs. Groovy vs. Clojure [kapal─▒]

Git'teki eski bir taahh├╝d├╝n zaman damgas─▒n─▒ nas─▒l de─či┼čtirebilirim?

Java'da varolan bir dosyaya metin ekleme

Toplu i┼č dosyas─▒ndaki bir yeni sat─▒r─▒ nas─▒l ekleyebilirim?

Polimer elemanlar─▒ ve AngularJS direktifleri aras─▒ndaki fark nedir?

Komut sat─▒r─▒nda Node.js s├╝r├╝m├╝? (REPL de─čil)