Yeni bir yerli şöbəni uzaq bir Git deposuna daşımaq və onu necə izləmək olar?

Aşağıdakıları edə bilmək istəyirəm:

  • Bəzi digər (uzaq və ya yerli) şöbəyə əsaslanan yerli filial yaratmaq ( git branch və ya git checkout -b )

  • Uzaq havuza (dərc) yerli şöbəni basın, ancaq bunu git pullgit push dərhal işləsin.

Bunu necə edirsiniz?

Mən bilirəm --set-upstream Git 1.7 --set-upstream , lakin bu yaradıldıqdan sonra hərəkətdir. Uzaq bir depoda bir filialı tıkladığımda oxşar dəyişikliklər etmək üçün bir yol tapmaq istəyirəm.

3689
04 мая '10 в 15:58 2010-05-04 15:58 Roni Yaniv 04 may 2010-cu il saat 15: 58-da soruşdu . 2010-05-04 15:58
@ 13 cavab

Git 1.7.0 və daha sonra, yeni filiala baxa bilərsiniz:

 git checkout -b <branch> 

Faylların redaktə edilməsi, əlavə edilməsi və düzəldilməsi. Sonra -u seçimi ilə (qısa --set-upstream ) ilə vurun :

 git push -u origin <branch> 

Git, tıkladığınız təqib məlumatlarını qurar.

5823
03 июня '11 в 23:50 2011-06-03 23:50 cavab Daniel Ruoso 03 iyun 'da 23:50' də verildi 2011-06-03 23:50

Repounuzu digər istifadəçilərlə bölüşmürsəniz, bu, bütün filiallarınızı uzaqdan birinə basmaq üçün yararlıdır və --set-upstream for --set-upstream üçün düzgündür:

 git push --all -u 
border=0

(OP istənilən nöqteyi-nəzərdən deyil, bu birtərəfli interfeys çox məşhurdur)

Repo başqalarınızla bölüşürsəniz, bu, çox maraqlı bir forma deyil, çünki bütün quake təcrübəli şöbələrlə repo dolduracaqsınız.

449
20 янв. Cavab 20 yanvar ErichBSchulz tərəfindən verilir 2014-01-20 14:36 '14 da 14:36 2014-01-20 14:36

git push -u tətbiqi başlamazdan əvvəl, istədiyinizi almaq üçün heç bir git push seçimi yox idi. Yeni konfiqurasiya təlimatlarını əlavə etməlisiniz.

Yeni bir filial yaratsanız, istifadə edin:

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

.git/config faylını düz bir şəkildə redaktə etməkdən çəkinmək üçün git config əmrindən istifadə edə bilərsiniz.

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

Yoxsa bu mövzuya izleme haqqında məlumat əldə etmək üçün .git/config faylını əl ilə düzəldə bilərsiniz.

 [branch "branchB"] remote = origin merge = refs/heads/branchB 
133
04 мая '10 в 16:03 2010-05-04 16:03 Cavab Lohrun tərəfindən 04 May '16' da 16:03 'da verildi. 2010-05-04 16:03

Sadəcə, yeni bir yerli şöbə yaratmaq üçün qoyun:

 git branch <branch-name> 

Uzaq havaya daşımaq üçün aşağıdakı adımları baxın:

 git push -u origin <branch-name> 
111
24 апр. 24 apreldə piyushmandovra tərəfindən verilən cavab 2015-04-24 15:09 '15 at 15:09 2015-04-24 15:09

Təklif edilən həllərin kiçik bir dəyişməsi:

  1. Digər (uzaq və ya yerli) şöbəyə əsaslanan yerli filial yaradın:

     git checkout -b branchname 
  2. Uzaq havadakı (dərc) yerli şöbəyə basın, ancaq izlənilə bilər, beləliklə, git pullgit push dərhal işləyəcək

     git push -u origin HEAD 

    HEAD istifadə edərək, "mövcud filialı uzaqdan idarəedəki eyni ada çevirmək üçün əlverişli bir yoldur". Mənbə: https://git-scm.com/docs/git-push Git HEAD (yuxarı halda) baxımından mövcud filialın (ağacın) üst hissəsidir.

    --set-setupstream seçimi --set-setupstream üçün --set-setupstream . Bu, mövcud filial üçün bir yuxarıdan izləmə bağlantısı əlavə edəcək. Bunu .git / config faylına baxaraq kontrol edə bilərsiniz:

    2019

05 июля '16 в 11:13 2016-07-05 11:13 Cavab bg17aw iyul ayının 05-də saat 11: 13-də verilir. 2016-07-05 11:13

Hesab edirəm ki, layihəni artıq klonlaşdırdığınızı düşünürəm, məsələn:

 git clone http://github.com/myproject.git 
  • Yerli surətdə yeni bir filial yaradın və onu yoxlayın:

     git checkout -b <newbranch> 
  • Sunucunuza "git-çılpaq-init" yaratdığınızı və myapp.git yaratdığınızı düşünsən:

     git remote add origin ssh://example.com/var/git/myapp.git git push origin master 
  • Bundan sonra istifadəçilər mümkün olmalıdır

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

Qeyd. . Sunucunuzun çalışdığını varsayıyorum. Əgər deyilsə, işləməyəcək. Yaxşı bir praktiki təlimat buradadır .

ADDED

Uzaq bir filial əlavə edin:

 git push origin master:new_feature_name 

Hər şeyin yaxşı olub olmadığını yoxlayın (başlanğıcını və uzaq filialların siyahısını seçin):

 git fetch origin git branch -r 

Yerli bir filial yaradın və uzaq filialı izləyin:

 git checkout -tb new_feature_name origin/new_feature_name 

Hamısını yeniləyin:

 git pull 
27
Cavab VP tərəfindən verilir . 2010-05-04 16:04 04 may '10 saat 16:04 'da, 2010-05-04 16:04

Mən yalnız edirəm

 git push -u origin localBranch:remoteBranchToBeCreated 

artıq klonlanmış bir layihə üzərində.

Git, remoteBranchToBeCreated adlı yeni bir şöbə yaradır, mənim remoteBranchToBeCreated mənim remoteBranchToBeCreated edirdim.

24
20 марта '17 в 14:13 2017-03-20 14:13 cavab 20 Mart 'da Arda tərəfindən verildi , '17 14:13 2017-03-20 14:13' də

redaktə köhnəlmiş, yalnız istifadə git push -u origin $BRANCHNAME


Uilyamın müxtəlif Git vasitələrindən ( cəlbedici repoklon ) ged nəşriyyat git publish-branch istifadə edin.

Yaxşı, heç bir Ruby, yəni tədbirləri görməyin! - skriptin son üç xəttini götür və bash skripti yarat, git-publish-branch :

19
04 мая '10 в 16:03 2010-05-04 16:03 04 May '10 'da 16:03' da Tobias Kienzler'e cavab verdi 2010-05-04 16:03

Yeni bir şöbə yaratmaq, mövcud filialdan ayırmaq

git checkout -b <new_branch>

istifadə edərək, bu yeni mövzuya basın

git push -u origin <new_branch>

Bu, bütün yerli əməliyyatları yeni yaradılmış uzaq origin/<new_branch> yaradır və itələyir origin/<new_branch>

16
03 июня '15 в 23:36 2015-06-03 23:36 Cavab cptjack tərəfindən verilir 03 iyun '23 saat 23:36 2015-06-03 23:36

Mən bir alias yaratdım, buna görə yeni bir filial yaratdığımda, uzaq filialı silmək və təqib edəcəyəm. Aşağıdakı .bash_profile faylına yerləşdirdim:

 # 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 

Istifadə : gcb thuy/do-sth-kool ilə gcb thuy/do-sth-kool yazın - bu mənim yeni filialımdır.

7
05 янв. Cavab Thuy Trinh tərəfindən verilir 05 Yanvar 2016-01-05 13:11 '16 'da 13:11' də 2016-01-05 13:11 'də

GitLab versiyası 1.7 üçün istifadə edin:

git checkout -b name_branch

(name_branch, ex: master)

Uzaq bir havuza göndərmək üçün aşağıdakı adımları baxın:

git push -u origin name_new_branch

(name_new_branch, məsələn: funksiyası)

6
06 дек. Cavab Fadid 06 dekabr verilir . 2016-12-06 21:42 '16 at 21:42 2016-12-06 21:42

Cavablara bir az güvənərək, mən bu prosesi sadə bas komanda kimi gəzdim, əlbəttə ki, bu Git alias kimi istifadə edilə bilər.

Mənim üçün əhəmiyyətli bir əlavə, mənə birbaşa test etməyi və həqiqi filialın cari adından keçmədən əvvəl mənə birləşməyi tövsiyə edir.

 $ 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} eg 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} eg 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 
1
21 апр. Cavab Brad Parks 21 apr verilir. 2017-04-21 16:30 '17 saat 16:30 'da 2017-04-21 16:30

Kamu deposunun yerli şöbəsini yükləmək üçün paylaşılan deposunu açmaq üçün cd yə ehtiyacınız var və aşağıdakı kodu istifadə edin:

 git push -u origin branchname 
-8
26 июня '15 в 12:37 2015-06-26 12:37 Cavab şankar kumar tərəfindən verilir 26 iyun '12 saat 12:37' da 2015-06-26 12:37

haqqında digər suallar və ya bir sual verin