25.git鏈接遠(yuǎn)程倉庫

如果在GitHub里有一個項目,需要在一個新的終端對項目里的內(nèi)容進(jìn)行修改。首先要配置github接收本地終端的ssh鑰匙。然后將本地與遠(yuǎn)程倉庫連接起來。

添加ssh鑰匙

1.在用戶主目錄下查找.ssh目錄,如果有,則進(jìn)入,查看id_rsa.pub。如果沒有,則2

2.生成.ssh目錄

ssh-keygen -t rsa -C "youremai@example.com" //在用戶目錄下,成功后會生成id_rsa和id_rsa.pub文件。

3.在GitHub添加本地的ssh鑰匙(復(fù)制id_rsa.pub里的內(nèi)容,粘貼在GitHub庫的-settings-keys下)

4.在本地終端新建一個本地倉庫,因為我這里鏈接的遠(yuǎn)程庫叫l(wèi)earngit,所以本地新建倉庫名learngit(在/usr/local/git下),同時,將本地倉庫設(shè)置為一個git倉庫。

git init

5.關(guān)聯(lián)遠(yuǎn)程倉庫

git remote add origin git@server-name:path/repo-name.git;

關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

如果git出錯,報錯是遠(yuǎn)程庫里有內(nèi)容,本地庫往上推送時會導(dǎo)致兩邊內(nèi)容不一樣,所以需要先將遠(yuǎn)程庫中的內(nèi)容拖到(fetch)本地來,在本地將其進(jìn)行合并(merge),可以用git pull同時來做這兩件事。

成功在GitHub里看到剛剛推送的Blog文件。

附:GitHub常用命令(摘自廖雪峰git教程)

簡單應(yīng)用

git config --global user.name"Your Name" ?//配置用戶名

git config --global user.email"email@example.com" ?//配置郵箱

git init ?//初始化一個git倉庫

git add ?//添加文件第一步

git commit ?//添加文件第二步

git status ? //查看文件修改狀態(tài)

git diff ?//查看文件修改內(nèi)容

修改,回退歷史版本

git reset --hard commit_id ?//HEAD指向的版本就是當(dāng)前版本,因此,Git允許我們在版本的歷史之間穿梭

git log ?//可以查看提交歷史,以便確定要回退到哪個版本

git reflog ?//查看命令歷史,以便確定要回到未來的哪個版本

git checkout -- file ?//直接丟棄工作區(qū)的修改

ps:當(dāng)你不但改亂了工作區(qū)某個文件的內(nèi)容,還添加到了暫存區(qū)時,想丟棄修改,先用命令git reset HEAD file,再丟棄工作區(qū)的修改。

git rm ?//刪除一個文件

遠(yuǎn)程倉庫操作命令

git remote add origin git@server-name:path/repo-name.git ?//關(guān)聯(lián)一個遠(yuǎn)程庫;

git push -u origin master ?//第一次推送master分支的所有內(nèi)容;

git push origin master ? //推送最新修改;

git clone ?//克隆一個倉庫

git remote -v ?//查看遠(yuǎn)程庫信息

git push origin branch-name ?//從本地推送分支,如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交;

git checkout -b branch-name origin/branch-name ?//在本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支,本地和遠(yuǎn)程分支的名稱最好一致;

git branch --set-upstream branch-name origin/branch-name ?//建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián);

git pull ?//從遠(yuǎn)程抓取分支,如果有沖突,要先處理沖突。

分支操作

git branch ?//查看分支

git branch ?//創(chuàng)建分支

git checkout ?//切換分支

git checkout -b ?//創(chuàng)建+切換分支

git merge ?//合并某分支到當(dāng)前分支

git branch -d ?//刪除分支,-D強(qiáng)行刪除

git log --graph ?//查看分支合并圖。

git stash ?//保存現(xiàn)場

git stash pop ?//恢復(fù)現(xiàn)場

標(biāo)簽命令

git tag ? //新建一個標(biāo)簽,默認(rèn)為HEAD,也可以指定一個commit id;

git tag -a -m "blablabla..." ?//指定標(biāo)簽信息;

git tag -s -m "blablabla..." ?//用PGP簽名標(biāo)簽;

git tag ?//查看所有標(biāo)簽。

git push origin ? //推送一個本地標(biāo)簽;

git push origin --tags ?//可以推送全部未推送過的本地標(biāo)簽;

git tag -d ? //可以刪除一個本地標(biāo)簽;

git push origin :refs/tags/<tagname> ?//可以刪除一個遠(yuǎn)程標(biāo)簽。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容