git遠程易錯點



git pull下來用git branch -r查看遠程分支纔有數據

解決方案:指定當前工做目錄工做分支,跟遠程的倉庫,分支之間的連接關係。
好比咱們設置master對應遠程倉庫的master分支
git branch --set-upstream master origin/mastergit

git branch查看本地分支,git branch -r 查看遠程分支


具體緣由: 出現這種狀況主要是因爲遠程倉庫太多,且分支較多。在默認狀況下,git push時通常會上傳到origin下的master分支上,然而當repository和branch過多,而又沒有設置關聯時,git就會產生疑問,由於它沒法判斷你的push目標。
用以下命令進行本地分支和遠程分支進行關聯github

git push --set-upstream origin master

這樣在咱們每次想push或者pull的時候,只須要 輸入git push 或者git pull便可。
在此以前,咱們必需要指定想要push或者pull的遠程分支。
git push origin master
git pull origin master.
否則報錯

api

git pull時遇到
fatal: refusing to merge unrelated histories

咱們在初見一個git倉庫須要將之提交到遠程倉庫時,使用git pull origin master 命令操做時,會遇到這樣的錯誤:fatal: refusing to merge unrelated histories
這是由於遠程倉庫已經存在代碼記錄了,而且那部分代碼沒有和本地倉庫進行關聯,咱們可使用以下操做容許pull未關聯的遠程倉庫舊代碼:
git pull origin api-dev  --allow-unrelated-histories

這樣就能夠把遠程該分支的代碼下載到本地了

git branch -vv 可查看本地分支和遠程分支的對應關係
fetch


根本緣由在於本地分支 github 是從遠程分支develop拉取的,在執行git push命令時,不知道應該與遠程哪一個分支進行同步,就會出現上面那個錯誤
提示了兩種解決方法
git push github-origin HEAD:develop
這種是將當前分支推送到github-origin倉庫的develop分支

或者
git push github-origin HEAD
這種是將當前分支推送到遠程的同名分支,沒有就會建立

git rebase變基

設置已有的本地分支跟蹤一個剛剛拉取下來的遠程分支,或者想要修改正在跟蹤的上游分支,你能夠在任意時間使用 -u 或 --set-upstream-to 選項運行 git branch 來顯式地設置。

網站

能夠運行 git merge origin/serverfix 將這些工做合併到當前所在的分支。 若是想要在本身的 serverfix 分支上工做,能夠將其創建在遠程跟蹤分支之上:spa

有時當初次git push不能參數時會提示這個
緣由是本地的分支跟遠程的分支名字不同
git push origin HEAD:develop 的意思是將當前分支推送到origin的develop分支
    git push origin HEAD  的意思是將當前分支推送到origin倉庫與本地當前分支的同名分支,沒有就會新建

#### 刪除遠程分支3d

git branch -r -d origin/github 只是刪除了fetch或pull下來的上游追蹤

遠程刪除 git push <主機名> :<遠程分支名>或git push <主機名> --delete <遠程分支名>

有一種狀況,就是不論是否存在對應的遠程分支,將本地的全部分支都推送到遠程主機,這時須要使用–all選項。code

$ git push --all origin

上面命令表示,將全部本地分支都推送到origin主機。若是遠程主機的版本比本地版本更新,推送時Git會報錯,要求先在本地作git pull合併差別,而後再推送到遠程主機。這時,若是你必定要推送,可使用–force選項。cdn

$ git push --force origin

上面命令使用-–force選項,結果致使在遠程主機產生一個」非直進式」的合併(non-fast-forward merge)。除非你很肯定要這樣作,不然應該儘可能避免使用–-force選項。server

git fetch <主機名> <遠程分支> : <本地分支>
git fetch origin develop:branch2

意思是把origin主機的develop分支的數據下載到本地分支branch2(沒有branch2就新建)

詳見這裏

我的網站
相關文章
相關標籤/搜索