Git的使用,以及Github遠(yuǎn)程倉庫

Git是什么

Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)

Git的作用

  • 分布式版本控制
  • 多個(gè)開發(fā)人員協(xié)調(diào)工作
  • 有效監(jiān)聽誰做的修改
  • 本地及遠(yuǎn)程操作

Git的使用

安裝Git工具后需要先設(shè)置用戶名密碼

git config --global user.name "Your Name" // 設(shè)置你的名字
git config --global user.email "email@example.com" // 設(shè)置你的郵箱

Git常用命令

git init // 初始化本地git倉庫
git add <file>/. // 添加文件 <file>是指定文件名, .是全部文件,但不包括被.gitgnore忽略的文件
git status // 查看狀態(tài)
git commit -m "備注的內(nèi)容" // 提交
git push origin <name> // 推送到遠(yuǎn)程倉庫 參數(shù):name 分支名字
git pull // 拉取遠(yuǎn)程倉庫的文件
git clone // 克隆遠(yuǎn)程倉庫到本地
git diff // 對比文件的不同
git remote -v // 查看遠(yuǎn)程庫的詳細(xì)信息
git reset --hard // 恢復(fù)版本 參數(shù): HEAD^(恢復(fù)前一版本);HEAD~100(恢復(fù)前100版本);或者是指定版本號
git log // 查看歷史日志 可帶參數(shù): --pretty = oneline (簡單顯示)
git reflog // 查看歷史命令
git branch <name> // 創(chuàng)建名為<name>的分支
git checkout <name> // 切換到分支/主線
git merge <name> // 合并<name>分支到主線
git rm <file> // 刪除版本庫文件
git remote add origin <address> // 連接到遠(yuǎn)程倉庫 參數(shù): address遠(yuǎn)程倉庫地址

SSH密鑰

遠(yuǎn)程庫有兩種方式可以請求,HTTP和SSH
使用SSH的好處在于不用輸入用戶名密碼,而且傳輸速度很快

ssh-keygen -t rsa -C "你創(chuàng)建時(shí)的郵箱" 一直回車
cat ~/.ssh/id_rsa.pub 查看公鑰

獲取到公鑰以后添加到Github/碼云/騰訊云即可使用

Git常用方法

情況一:如果你在提交修改之前發(fā)現(xiàn)編寫的代碼不符合需求,但是大部分代碼已經(jīng)被更改過,撤銷是無法恢復(fù)的,該如何有效的撤銷?

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作區(qū)的修改全部撤銷,這里有兩種情況:

  • 一種是readme.txt自修改后還沒有被放到暫存區(qū),現(xiàn)在,撤銷修改就回到和版本庫一模一樣的狀態(tài);

  • 一種是readme.txt已經(jīng)添加到暫存區(qū)后,又作了修改,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)。

Git.jpg

情況二:在執(zhí)行g(shù)it add . 以后發(fā)現(xiàn)代碼有問題,該如何有效的撤銷?

  • 慶幸的是,在commit之前,你發(fā)現(xiàn)了這個(gè)問題。用git status查看一下,修改只是添加到了暫存區(qū),還沒有提交

  • 用命令git reset HEAD <file>可以把暫存區(qū)的修改撤銷掉(unstage),重新放回工作區(qū)

情況三:已經(jīng)提交了不合適的修改到版本庫時(shí),想要撤銷本次提交,參考情況二,退回版本,不過前提是沒有推送到遠(yuǎn)程庫

Git分支的使用

Develop分支(dev分支)

也就是我們常說的生產(chǎn)分支

BUG分支

情況:目前dev分支上的工作未完成,需要立即修改BUG,通過建立新的BUG分支(例如issue-101)來處理和修改

通過git stash將現(xiàn)在的場面存儲(chǔ)起來,然后從需要更改的分支建立新分支(臨時(shí)分支)

可以通過git stash list查看保存

git stash list
stash@{0}: WIP on dev: f52c633 add merge

修改完成以后合并分支,再刪除臨時(shí)分支

git stash list // 查看存儲(chǔ)
git stash apply // 恢復(fù)
git stash drop // 刪除
等同于=> git stash pop

也可以多次stash,恢復(fù)之前先查看要恢復(fù)哪個(gè),在指定

git stash apply stash@{0}

Feature分支

情況:添加一個(gè)新功能時(shí),你肯定不希望因?yàn)橐恍?shí)驗(yàn)性質(zhì)的代碼,把主分支搞亂了,所以,每添加一個(gè)新功能,最好新建一個(gè)feature分支,在上面開發(fā),完成后,合并,最后,刪除該feature分支。

如果要丟棄一個(gè)沒有合并過的分支可以通過

git branch -D <name> // 強(qiáng)行刪除名為<name>的分支

.gitgnore忽略文件

touch .gitgnore // 創(chuàng)建忽略文件(一定要在git終端中使用,不然會(huì)報(bào)錯(cuò))

建議使用notepad++打開.gitgnoer文件,輸入你要忽略的文件,列如xxx.txt(文件) || /node (文件夾)

tag標(biāo)簽

git tag <name> // 創(chuàng)建標(biāo)簽 例如name=v1.0
git tag // 查看標(biāo)簽
創(chuàng)建帶說明的標(biāo)簽
git tag -a v0.1 -m "version 0.1 reseased" 1094adb // 參數(shù): -a 指標(biāo)簽名 -m 值說明文字 1094adb 指標(biāo)簽對應(yīng)的commit Id

如果要推送某個(gè)標(biāo)簽到遠(yuǎn)程,使用命令git push origin <tagname>

git push origin --tags // 一次性推送全部尚未推送到遠(yuǎn)程的本地標(biāo)簽

如果標(biāo)簽已經(jīng)推送到遠(yuǎn)程,要?jiǎng)h除遠(yuǎn)程標(biāo)簽就麻煩一點(diǎn),先從本地刪除:

$ git tag -d v0.9
Deleted tag 'v0.9' (was f52c633)

然后,從遠(yuǎn)程刪除。刪除命令也是push,但是格式如下:

$ git push origin :refs/tags/v0.9
To github.com:michaelliao/learngit.git
 - [deleted]         v0.9

要看看是否真的從遠(yuǎn)程庫刪除了標(biāo)簽,可以登陸GitHub查看

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

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

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,852評論 9 163
  • 聲明:這篇文章來源于廖雪峰老師的官方網(wǎng)站,我僅僅是作為學(xué)習(xí)之用 Git簡介 Git是什么? Git是目前世界上最先...
    橫渡閱讀 4,132評論 3 27
  • 安裝Git Git的下載地址:Git官網(wǎng)下載地址 Git本地倉庫和命令 配置用戶 下載完Git后,右鍵會(huì)有一個(gè)Gi...
    TokyoZ閱讀 4,631評論 1 7
  • (預(yù)警:因?yàn)樵敿?xì),所以行文有些長,新手邊看邊操作效果出乎你的預(yù)料) 一:Git是什么? Git是目前世界上最先進(jìn)的...
    axiaochao閱讀 2,007評論 1 8
  • git 使用筆記 git原理: 文件(blob)對象,樹(tree)對象,提交(commit)對象 tree對象 ...
    神刀閱讀 3,849評論 0 10

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