Git本地仓库管理远程库(GitHub)——clone(下载)、push(提交)、pull(拉取)操作
目錄
- 使用遠(yuǎn)程倉(cāng)庫(kù)的目的
- 將本地倉(cāng)庫(kù)同步到git遠(yuǎn)程倉(cāng)庫(kù)
- 1.克隆遠(yuǎn)程倉(cāng)庫(kù)(clone)
- 2.新建一個(gè)文件
- 3.將工作區(qū)的文件添加到暫存區(qū)
- 4.將暫存區(qū)的文件添加到本地倉(cāng)庫(kù)
- 5.提交(同步)到遠(yuǎn)程倉(cāng)庫(kù)(push)
- 6.遠(yuǎn)程庫(kù)拉取到本地庫(kù)(pull)
- 7.團(tuán)隊(duì)協(xié)作開發(fā)和跨團(tuán)隊(duì)協(xié)作開發(fā)(開源項(xiàng)目)
使用遠(yuǎn)程倉(cāng)庫(kù)的目的
作用:備份,實(shí)現(xiàn)代碼共享集成化管理
將本地倉(cāng)庫(kù)同步到git遠(yuǎn)程倉(cāng)庫(kù)
1.克隆遠(yuǎn)程倉(cāng)庫(kù)(clone)
1.目的
將遠(yuǎn)程倉(cāng)庫(kù)(GitHub對(duì)應(yīng)的項(xiàng)目)下載到本地
2.復(fù)制
git clone 倉(cāng)庫(kù)地址倉(cāng)庫(kù)地址獲取(這里我下載OpenCV):
速度還挺快的哈,每秒4M多呢!以后可以用這種方法下載文件了。
我再下載自己的倉(cāng)庫(kù)
這里我下載了好幾次才成功。
2.新建一個(gè)文件
3.將工作區(qū)的文件添加到暫存區(qū)
git add hello.c4.將暫存區(qū)的文件添加到本地倉(cāng)庫(kù)
git commit -m "提交描述"5.提交(同步)到遠(yuǎn)程倉(cāng)庫(kù)(push)
git push
添加成功
如果提示:The requested URL returned error: 403 Forbidden while accessing等
答案:私有項(xiàng)目,沒有權(quán)限,輸入用戶名密碼,或者遠(yuǎn)程地址采用這種類型
vi .git/config
將url => https://github.com/用戶名/倉(cāng)庫(kù)名.git
修改為: url => https://用戶名:密碼@github.com/用戶名/倉(cāng)庫(kù)名.git
6.遠(yuǎn)程庫(kù)拉取到本地庫(kù)(pull)
這部分摘自這篇博文:https://xiongyiming.blog.csdn.net/article/details/106153902
遠(yuǎn)程庫(kù)拉取(pull)到本地庫(kù)命令格式為: git pull origin master ,origin為遠(yuǎn)程庫(kù)地址的別名。
將遠(yuǎn)程庫(kù)文件更新到本地庫(kù),本地工作區(qū)文件將會(huì)更新,如果本地有和遠(yuǎn)程庫(kù)同名的文件,將會(huì)強(qiáng)制更新本地庫(kù)文件。
例如新建test_pull文件,新建123.txt文件,然后提交到本地庫(kù),如下圖所示:
將遠(yuǎn)程庫(kù)地址更改別名(git remote add origin 遠(yuǎn)程庫(kù)地址),然后執(zhí)行命令:git pull origin master
此時(shí)發(fā)現(xiàn),pull失敗,因?yàn)楸镜貛?kù)有和遠(yuǎn)程庫(kù)不相同的文件,此時(shí)可以通過命令:git pull origin master --allow-unrelated-histories 強(qiáng)制拉取(pull)
下面將本地庫(kù)文件全部推送到遠(yuǎn)程庫(kù),命令為:git push origin master ,結(jié)果如下圖所示
此時(shí)刷新網(wǎng)頁(yè),查看GitHub倉(cāng)庫(kù)中123.txt文件成功的從本地庫(kù)提交到遠(yuǎn)程庫(kù),如下圖所示:
假設(shè)在GitHub倉(cāng)庫(kù)中更改文件內(nèi)容,此時(shí)本地庫(kù)內(nèi)容沒有變,現(xiàn)在然后從將遠(yuǎn)程庫(kù)拉取(pull)到本地庫(kù),看看會(huì)不會(huì)強(qiáng)制更新本地庫(kù)文件內(nèi)容。
由上圖可以看出,遠(yuǎn)程庫(kù)123.txt文件被修改,此時(shí)將遠(yuǎn)程庫(kù)拉取到本地庫(kù),執(zhí)行命令:git pull origin master ,結(jié)果如下圖所示,本地庫(kù)123.txt文件被更新了。
當(dāng)然也可以通過命令: git fetch origin master 將遠(yuǎn)程庫(kù)文件抓取到本地庫(kù)緩存區(qū),此時(shí)本地庫(kù)和工作區(qū)文件并沒有被合并,
通過命令:git checkout origin/master 切換到本地庫(kù)緩存的分支上,然后通過命令: cat 文件名 來查看文件內(nèi)容
。
接下來可以將緩存區(qū)分支文件和本地庫(kù)文件進(jìn)行合并,通過命令:git checkout master切換到本地庫(kù)分支上,然后再將緩存區(qū)的分支合并到本地庫(kù):命令為:git merge origin/master 。
注: pull操作相當(dāng)于 fetch + merge 操作。關(guān)于git pull命令和git fetch命令的區(qū)別可以參見博客:
7.團(tuán)隊(duì)協(xié)作開發(fā)和跨團(tuán)隊(duì)協(xié)作開發(fā)(開源項(xiàng)目)
團(tuán)隊(duì)協(xié)作開發(fā)和跨團(tuán)隊(duì)協(xié)作開發(fā)(開源項(xiàng)目)可以參考之前的博客:GitHub協(xié)作開發(fā)項(xiàng)目
其實(shí)重點(diǎn)是遠(yuǎn)程倉(cāng)庫(kù)和本地倉(cāng)庫(kù)之間的推送(push)操作和拉取(pull)操作,因?yàn)樵谶@個(gè)過程中可能出現(xiàn)遠(yuǎn)程庫(kù)文件和本地庫(kù)文件不相同,這是需要自己去判斷。具體的問題在實(shí)際操作中可能會(huì)遇到,等遇到了這些問題在更新自己的筆記。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Git本地仓库管理远程库(GitHub)——clone(下载)、push(提交)、pull(拉取)操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python学习之wxPython
- 下一篇: 命运211月服务器维护,命运2服务端+客