簡體   English   中英

Git將本地分支推送到遠程分支的分支

[英]Git push local branch to remote branch's branch

我有2個分支的遠程存儲庫,分別是masterlogin 我想將本地更改推送到登錄分支,但是它不起作用。

$ git push origin/login

fatal: 'origin/login' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

它說'origin / login'似乎不是git存儲庫,但是我有。 我怎么了

$ git log

commit f385d950a1f8c6412d91b26d749282d1a3ead27a (HEAD -> upstream, login, develop)
Author: SoojungChae <naan_ace@naver.com>
Date:   Sat Nov 3 06:49:16 2018 +0900

    Edit login logic

commit 6719685fbc7f895a909e2515753c02794591595e (origin/login)
Author: SoojungChae <naan_ace@naver.com>
Date:   Sat Sep 22 23:43:57 2018 +0900

    Block unnecessary things

...

git push需要另外兩個參數:

  • 遙控器的名稱,例如origin
  • 分支的名稱,例如masterlogin

也就是說,您想要:

git push origin login

將這兩個概念分開是很重要的:類似遠程的 origin是您和Git用來跟蹤諸如https://github.com/some/repo.gitssh://git@github.com/some/repo.git等較長名稱的簡稱。 ssh://git@github.com/some/repo.git ,它與分支名稱完全不同。

造成這種混亂的原因是,除了這些概念和術語( 遠程分支)之外,還有第三個概念,用另一個單詞序列來描述,通常寫為遠程跟蹤分支 1第三個概念涉及形式為origin/masterorigin/login字符串。 關於何時應該編寫origin login以及何時應該編寫origin/login可能會造成混亂。

訣竅是查閱文檔,並密切跟蹤它是remote還是branch 不幸的是,文檔沒有使用這兩個術語,因為它們實際上是更一般形式的特殊情況。 因此文檔(現在是Git 2.19 2 )說:

git push [ --all | --mirror | --tags ] [ --follow-tags ] [ --atomic ] [ -n | --dry-run ] [ --receive-pack=<git-receive-pack> ] [ --repo=<repository> ] [ -f | --force ] [ -d | --delete ] [ --prune ] [ -v | --verbose ] [ -u | --set-upstream ] [ -o <string> | --push-option=<string> ] [ -- [ no- ] signed | --signed=true | false | if-asked )] [ --force-with-lease [ =<refname> [ :<expect> ]]] [ --no-verify ] [ <repository> [ <refspec>... ]]

我在這里談論的兩個參數稱為存儲庫refspec ,而不是遠程分支 作為一個初學者,如何實現所有這些還不清楚。

(這是一種長篇大論的說法,即Git文檔並不是很好。)


1我現在更喜歡術語“ 遠程跟蹤名稱” ,因為盡管它具有分支名稱的某些方面,但也有一些不同之處。 無論哪種方式,第三個概念都采用上面顯示的形式。

2較早版本的git push具有較少的可選參數。

看來您使用的是錯誤的語法。 git push將URL,路徑或遠程作為第一個參數,然后在其后進行分支。 因此,如果要將當前login分支推送到origin上的login分支,則需要輸入git push origin login

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM