亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

git中push -u指的是什么

發布時間:2022-07-01 13:43:01 來源:億速云 閱讀:778 作者:iii 欄目:軟件技術

這篇“git中push -u指的是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“git中push -u指的是什么”文章吧。

在git中,“push -u”的意思是將本地的分支版本上傳到遠程合并,并且記錄push到遠程分支的默認值;當添加“-u”參數時,表示下次繼續push的這個遠端分支的時候推送命令就可以簡寫成“git push”。

本文操作環境:Windows10系統、Git2.30.0版、Dell G3電腦。

git中push -u是什么意思

git push 命令用于從將本地的分支版本上傳到遠程并合并。

一般將本地倉庫推送到遠程倉庫的時候一般會使用 git push 命令。而作為新手,在網上看到一些教程有的會在 git push 的時候帶上一個 -u 參數,而有的則沒有。而推送的實際結果沒有什么區別。就很好奇 -u 參數的作用到底是什么?

搜索了一番,綜合了一些大家的說明和解析,總結記錄一下。

參數解析:

首先對于 git push,有這樣一段描述:

-u

–set-upstream

For every branch that is up to date or successfully pushed, add upstream (tracking) reference, used by argument-less git-pull(1) and other commands. For more information, see branch.<name>.merge in git-config(1).

在這個描述中,可以看到 -u 參數與下面這個變量相關

branch.<name>.merge

branch.<name>.merge與branch.<name>.remote一起定義給定分支的上游分支(upstream)。它告訴git fetch/git pull要合并哪個分支,還可以影響git push.

而upstream是指其他人將從中獲取的主要存儲庫,例如您的GitHub存儲庫。-u選項自動為您設置上游,將您的倉庫鏈接到一個中央倉庫。這樣,將來Git會“知道”您要推送到的位置以及您要從哪里提取的信息,因此您可以使用git pull或git push不使用參數。

當您git pull從分支進行操作而未指定源遠程或分支時,git會查看 branch.<name>.merge 設置以了解從何處提取。而正是git push -u 命令為您要推送的分支設置此信息。

至此,簡單來說,帶上-u 參數其實就相當于記錄了push到遠端分支的默認值,這樣當下次我們還想要繼續push的這個遠端分支的時候推送命令就可以簡寫成git push即可。

示例展示:

下面展示一個示例來說明這一點。

andy@AndyMacBookPro:/usr/local/github/andy/php-examples$ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> test

這個就是如果你之前未使用 -u 參數,后面省略了想要pull的分支參數而產生的結果。pull 因為沒有track for the current branch. 所以他不知道你要從哪里pull,所以這也就是 -u 參數的意義,指定trach branch。

其實你可以在指定完-u之后,去.git/config看GIT配置文件,可以看到下面有了branch "test"的分支的記錄:

[branch "master"] 
 remote = origin
merge = refs/heads/master 
[branch "test"]
remote = origin
merge = refs/heads/test

這樣git才能知道當前test下的remote和merge的信息,如果你在git push的時候沒有帶入-u參數,那么config中就不會有branch "test"這一項。

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

配置說明,這告訴Git 2件事:

當您在master分支上時,默認的遙控器是origin。

在git pullmaster分支上使用時(未指定任何遠程和分支),請使用默認的remote(源)并合并來自remote master分支的更改。

配置修改

您可以手動去.git/config修改GIT配置文件內容,也可以使用命令行設置這些選項。

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

如果使用命令進行配置,它將有一定的糾錯能力。比如您鍵入了一個不存在的分支或者您沒有執行git remote add 操作。在較新的git中,希望您使用 git branch --set-upstream-to=origin/master master

其實,執行添加了-u 參數的命令 git push -u origin master就相當于是執行了

git push origin master 和

git branch --set-upstream master origin/master。

所以,在進行推送代碼到遠端分支,且之后希望持續向該遠程分支推送,則可以在推送命令中添加 -u 參數,簡化之后的推送命令輸入。

以上就是關于“git中push -u指的是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇礼县| 宜良县| 汝城县| 利川市| 镇江市| 陵水| 哈巴河县| 海晏县| 凤山市| 鹿泉市| 鄂伦春自治旗| 白山市| 集安市| 台东县| 涟源市| 东兴市| 阳曲县| 冷水江市| 武义县| 武山县| 万源市| 松桃| 鹿邑县| 镇平县| 克拉玛依市| 介休市| 荃湾区| 天长市| 芜湖县| 兴山县| 郯城县| 巴彦淖尔市| 万州区| 湖口县| 古田县| 安吉县| 繁峙县| 嘉黎县| 灌阳县| 夏津县| 汉沽区|