Git常用命令整理

Git常用命令整理

在平時(shí)工作中,Git的使用已經(jīng)是一種趨勢,所以在這里自己整理了一下常用的命令。如果有興趣的話,可以去看看廖大的講解,非常詳細(xì)。個(gè)人建議完完整整過一遍比較好——廖大Git教程

Git的安裝

對(duì)于Git的安裝,有很多方式,這里有官方文檔,可以去看一下Git的安裝

Git常用命令

  • 基本命令
git config --global user.name "用戶名" // 設(shè)置全局范圍的用戶名 
git config --global user.emil "郵箱"   // 設(shè)置全局范圍的郵箱
git config --global --unset user.name   // 取消全局范圍的用戶名
git config --global --unset user.email   // 取消全局范圍的郵箱

注意git config命令的--global參數(shù),用了這個(gè)參數(shù),表示你這臺(tái)機(jī)器上所有的Git倉庫都會(huì)使用這個(gè)配置,當(dāng)然也可以對(duì)某個(gè)倉庫指定不同的用戶名和Email地址。

git init         // 創(chuàng)建版本庫,即當(dāng)前目錄作為git倉庫
git config user.name "用戶名"   // 對(duì)當(dāng)前倉庫指定用戶名
git config user.emai "郵箱"     // 對(duì)當(dāng)前倉庫指定郵箱
git config -l                   // 查看當(dāng)前目錄的git config

在對(duì)某一倉庫指定用戶名和郵箱時(shí),如果和全局范圍的用戶名、郵箱沖突,請(qǐng)取消設(shè)置全局范圍

  • 遠(yuǎn)程倉庫
ssh-keygen -t rsa -C "youremail@example.com"  // 創(chuàng)建SSH Key

本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以要?jiǎng)?chuàng)建SSH Key,并將其添加到GitHub上,這樣你便擁有遠(yuǎn)程庫了。

git clone  // 克隆代碼到本地
git remote -v  // 顯示可以抓取和推送的origin的地址,沒有推送權(quán)限的話就無法看到push的地址
git remote remove origin  // 取消本地庫與遠(yuǎn)程庫的關(guān)聯(lián)

要克隆一個(gè)倉庫,首先必須知道倉庫的地址,然后使用git clone命令克隆。

Git支持多種協(xié)議,包括https,但通過ssh支持的原生git協(xié)議速度最快。

工作區(qū),暫存區(qū),遠(yuǎn)程庫三者的關(guān)系圖
git status   // 查看本地庫的狀態(tài),即距離上次提交是否有文件被修改過
git diff    // 查看修改內(nèi)容
git add 文件名 // 添加文件 
git commit -m "說明"   //提交并標(biāo)注說明
git push origin master   // 推送到遠(yuǎn)程庫的主分支上

注:每次修改,如果不add到暫存區(qū),那就不會(huì)加入到commit中。

  • 文件管理
git checkout -- 文件名 // 讓這個(gè)文件回到最近一次git commit或git add時(shí)的狀態(tài) 

這是對(duì)本地文件的修改,即工作區(qū)的修改

git log // 顯示從最近到最遠(yuǎn)的提交日志
git reset --hard HEAD^// 回到過去的命令,用HEAD表示當(dāng)前版本,上一個(gè)版本就是HEAD^,上上一個(gè)版本就是HEAD^^,一般git log命令后,會(huì)顯示commit id,可用命令 git reset --hard 3628164 回到某次提交時(shí)的狀態(tài)
git reflog // 查看命令歷史,注意是命令

這些命令可以讓我們回到代碼的某個(gè)狀態(tài),加入代碼出現(xiàn)了意外,可以利用這些命令回到過去,前提是你備份了(commit)。

所以commit很重要!

  • 分支管理
git branch  // 查看本地分支,當(dāng)前分支前面會(huì)標(biāo)有一個(gè)*號(hào)
git branch -a // 查看所有分支 (包括遠(yuǎn)程庫上的分支)
git branch dev  // 創(chuàng)建分支dev,注:這是本地分支,不是遠(yuǎn)程庫分支
git checkout dev // 切換到dev這條分支上
git checkout -b dev  // 這是創(chuàng)建和切換到分支dev
git merge dev // 合并dev分支 注:要合并dev分支,你必須得不在這個(gè)分支上才能將其合并。例如要在主分支上合并dev分支,那就先切到主分支,然后使用這個(gè)命令
git branch -d dev  // 刪除dev分支 
git log --graph  // 查看分支合并圖
git push origin branch-name  // 推送時(shí),要指定本地分支,這樣,Git就會(huì)把該分支推送到遠(yuǎn)程庫對(duì)應(yīng)的遠(yuǎn)程分支上。如果沒有,則會(huì)在遠(yuǎn)程庫新建分支與之對(duì)應(yīng)。origin可以理解為遠(yuǎn)程庫的根目錄
git pull  // 將遠(yuǎn)程庫上某分支的代碼拉到本地工作區(qū)。至于是哪個(gè)分支,取決于本地切換到哪個(gè)分支了。
git branch --set-upstream branch-name origin/branch-name  // 創(chuàng)建本地分支和遠(yuǎn)程分支的鏈接關(guān)系
git push origin :branch-name  // 刪除遠(yuǎn)程庫中分支
git cherry-pick 2555c6e // 將別的分支上的commit合并到這個(gè)分支上 如果有沖突處理沖突 之后使用git add .  git cherry-pick --continue繼續(xù)提交 最后push到遠(yuǎn)程庫即可

分支一塊可以說是Git的核心所在,我只是將我遇到的簡單整理下,還有很多不曾了解的。如果有什么錯(cuò)誤,請(qǐng)務(wù)必指出,不能誤人誤己。

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

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

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