搜尋
首頁開發工具Gitgit中push和pull的差別是什麼

git中push和pull的區別:1、“git push”命令是將本地庫中的最新信息發送給遠端庫,用於將本地分支的更新,推送到遠端主機;2、“ git pull」指令是從遠端取得最新版本到本機庫,用於從另一個儲存庫或本機分支取得並整合整合。

git中push和pull的差別是什麼

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

git中push和pull的差別是什麼

#git push與git pull是一對推送/拉取分支的git指令。

git push 使用本地的對應分支來更新對應的遠端分支

$ git push <远程主机名> <本地分支名>:<远程分支名>

注意: 命令中的本地分支是指將要被推送到遠端的分支,而遠端分支是指推送的目標分支,即將本地分支合併到遠端分支。 

如果省略遠端分支名,則表示將本地分支推送與之存在」追蹤關係」的遠端分支(通常兩者同名),如果該遠端分支不存在,則會被新建。

$ git push origin master

上面指令表示,將本地的master分支推送到origin主機的master分支。如果後者不存在,則會被新建。 

origin是一個遠端廠庫位址。

如果省略本機分支名,則表示刪除指定的遠端分支,因為這等同於推送空的本機分支到遠端分支,這條指令是刪除遠端master分支。

$ git push origin :master
# 等同于
$ git push origin --delete master

上面指令表示刪除origin主機的master分支。

如果目前分支與遠端分支之間存在追蹤關係(即分支名稱相同),則本機分支和遠端分支都可以省略。

$ git push origin

上面指令表示,將目前分支推送到origin主機的對應分支。

如果目前分支只有一個追蹤分支,那麼主機名稱都可以省略。

$ git push

如果目前分支與多個主機存在追蹤關係,則可以使用-u選項指定一個預設主機,這樣後面就可以不加任何參數使用git push。

$ git push -u origin master

上面指令將本地的master分支推送到origin主機,同時指定origin為預設主機,後面就可以不加任何參數使用git push了。

不帶任何參數的git push,預設只推送目前分支,這叫做simple方式。此外,還有一種matching方式,會推送所有有對應的遠端分支的本機分支。 Git 2.0版本之前,預設採用matching方法,現在改為預設採用simple方式。如果要修改這個設置,可以採用git config指令。

$ git config --global push.default matching
# 或者
$ git config --global push.default simple

還有一種情況,就是不管是否存在對應的遠端分支,將本地的所有分支都推送到遠端主機,這時需要使用–all選項。

$ git push --all origin

上面指令表示,將所有本機分支都推送到origin主機。

如果遠端主機的版本比本機版本更新,推送時Git會報錯,要求先在本地做git pull合併差異,然後再推送到遠端主機。這時,如果你一定要推送,可以使用–force選項。

$ git push --force origin

上面指令使用–force選項,結果導致在遠端主機產生一個」非直排式」的合併(non-fast-forward merge)。除非你很確定要這樣做,否則應該盡量避免使用–force選項。

最後,git push不會推送標籤(tag),除非使用–tags選項。

$ git push origin --tags

git pull 取得並合併其他的廠庫,或本地的其他分支。

git pull 與 git push操作的目的相同,但是操作的目標相反。指令格式如下:

git pull <远程主机> <远程分支>:<本地分支>

例如:

git pull origin master:my_test

上面的指令是將origin廠庫的master分支拉取並合併到本機的my_test分支上。

如果省略本機分支,則會自動合併到目前所在分支上。如下:

git pull origin master

註:如果你想參與github上的一些優秀的項目,則下面提供一個通用的例子: 

首先,需要一個github的帳號,並fork一個你感興趣的repository。

下面描述過程中會涉及兩個遠程主分支,為了很好的區別,我們把fork出來的主分支稱為遠程A repository,本fork的分支稱為遠程B repository

$git clone <远程Arepository> #克隆你fork出来的分支
$git remote add <远程Brepository标签> git@github.com:XXXX/ceph.git #添加远程Brepository标签
$git pull <远程B厂库标签> master:master  #从远程Brepository的master分支拉取最新objects合并到本地master分支
$git checkout YYYY #切换到要修改的分支上
$git branch develop; git checkout develop #在当前分支的基础上创建一个开发分支,并切换到该分支上,你将在该分支上coding
coding...... #在工作区coding
$git add .#将修改保存到索引区
$git commit -a #将修改提交到本地分区
$git push origin my_test:my_test #将本地分支my_test提交到远程A repository的my_test分支上

接著在github web介面上將my_test分支合併到你需改的遠端B repository 分支上。等待管理員review,如果有問題,就繼續在develop分支當修改,並commit –amend,在之前的commit上修改。知道被meger。

推薦學習:《Git教學

以上是git中push和pull的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
GitHub:開源和軟件開發的樞紐GitHub:開源和軟件開發的樞紐Apr 15, 2025 am 12:10 AM

GitHub是一個基於Git的版本控制系統託管平台,提供版本控制、協作開發和社區交流功能。使用GitHub可以提高開發效率和代碼質量。

git and github:有什麼關係?git and github:有什麼關係?Apr 14, 2025 am 12:10 AM

Git和GitHub是不同的工具:Git是用於版本控制的軟件,GitHub是基於Git的在線平台。 1.Git允許你跟踪文件變化和協同開發。 2.GitHub提供代碼託管和協作工具,增強團隊開發效率。

GitHub:開發人員和項目的平台GitHub:開發人員和項目的平台Apr 13, 2025 am 12:01 AM

GitHub的核心功能包括版本控制、分支管理、代碼審查、問題跟踪和項目管理。 1.版本控制與分支管理基於Git,允許追踪代碼變更和實驗性開發。 2.代碼審查通過PullRequest實現,提升代碼質量和團隊協作。 3.問題跟踪與項目管理通過Issues和項目管理板進行,提高項目透明度和可追踪性。

行動中的github:示例和用例行動中的github:示例和用例Apr 12, 2025 am 12:16 AM

GitHub是提升軟件開發效率和質量的強大工具。 1)版本控制:通過Git管理代碼變更。 2)PullRequests:進行代碼審查,提高代碼質量。 3)Issues:跟踪bug和項目進度。 4)GitHubActions:自動化構建、測試和部署流程。

git vs. github:版本控制和代碼託管git vs. github:版本控制和代碼託管Apr 11, 2025 am 11:33 AM

Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,支持本地操作;GitHub提供在線協作工具,如Issue跟踪和PullRequest。

什麼是簡單的話?什麼是簡單的話?Apr 09, 2025 am 12:12 AM

Git是一個開源的分佈式版本控制系統,幫助開發者跟踪文件變化、協同工作和管理代碼版本。它的核心功能包括:1)記錄代碼修改,2)回退到之前版本,3)協同開發,4)創建和管理分支進行並行開發。

git和github相同嗎?git和github相同嗎?Apr 08, 2025 am 12:13 AM

Git和GitHub不是同一回事。 Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,GitHub提供在線協作環境。

如何將github用於HTML?如何將github用於HTML?Apr 07, 2025 am 12:13 AM

使用GitHub管理HTML項目的原因是它提供了版本控制、協作開發和展示作品的平台。具體步驟包括:1.創建並初始化Git倉庫,2.添加和提交HTML文件,3.推送到GitHub,4.使用GitHubPages部署網頁,5.利用GitHubActions自動化構建和部署。此外,GitHub還支持代碼審查、Issue和PullRequest功能,幫助優化和協作開發HTML項目。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中