Git常用指令:跟著打一遍就可以了

閃現A小兵發表於2019-12-24

專案初始化

git init
複製程式碼

專案初始化之後會生成一個.git檔案,如果看不見,可能是因為電腦隱藏了以.開頭的檔案

克隆專案

git clone xxxx // xxxx 表示專案地址
複製程式碼

表示從遠端倉庫拉取專案到本地

本地專案關聯遠端倉庫

如果我們本地是有專案的,我們想要的是將本地的專案和遠端倉庫關聯起來,那麼有如下兩種情況

  1. 本地已有檔案與git倉庫關聯起來(空倉庫)
  2. 本地已有檔案與git倉庫關聯起來(非空倉庫:比如有README.md)

我們先來看第一種,它的流程是這樣的:

git init
git remote add origin xxxx
git add .
git commit -m 'init'
git push --set-upstream origin master 或者 git push -u origin master 
複製程式碼

第二種非空倉庫的情況:

git init
git remote add origin xxxx
git add .
git commit -m 'init'
git pull origin master --allow-unrelated-histories
//若有衝突,先解決衝突
git push --set-upstream origin master
複製程式碼

在上面的commit到本地倉庫後,如果直接推送,它會報錯:

refusing to merge unrelated histories
複製程式碼

意思就是拒絕合併沒有歷史關係的分支,我們用下面的程式碼解決這個問題

git pull origin master --allow-unrelated-histories
複製程式碼

我們允許拉取沒有歷史關係的分支,這步也就是我們程式碼的第5步

檢視分支

git branch  //檢視本地分支
git branch -r //遠端分支
git branch -a  //本地+遠端
git brnahc -v  //分支最後一次提交的資訊
複製程式碼

在實際專案開發中,往往會有多個任務並行開發,因此從一個基礎分支拉取不同分支進行程式碼編寫是常有的事情.

切換分支

git branch <BranchName>  //  建立本地分支
git checkout <BranchName> //切換到對應分支
git checkout -b<BranchName>r  //建立並切換到對應分支
複製程式碼

拉取分支

將遠端git倉庫裡的指定分支拉取到本地(本地不存在的分支)

git checkout -b 本地分支名 origin/遠端分支名
複製程式碼

刪除分支

git branch -d <BranchName>  //刪除本地分支
git push origin :<BranchName>(origin後面有空格)  //刪除遠端分支
複製程式碼

建立本地新分支並推送到遠端

git checkout -b branch1 //建立本地新分支並切換到對應的分支
git push --set-upstream origin branch1
複製程式碼

暫存

有時候,我們想要切換分支,但是又不想將當前分支程式碼提交到本地或遠端倉庫,直接切換過去的話程式碼會被覆蓋,這時候我們可以使用暫存功能

git stash //存
git stash pop //取出暫存
複製程式碼

程式碼提交

git add .  
git commit -m 'commit message'
git push 
複製程式碼

提交的時候,可以輸入emoji表情,可愛又有趣,別人一眼看過來就知道你提交的是關於什麼

:bug: //修復BUG
:lipstick: //更新樣式
:lock: //解決安全問題
:recycle: //重構
:sparkles: //新增新功能
複製程式碼

檢視提交歷史

git log
git log -3 //顯示最近3次的更新
複製程式碼

原生程式碼回滾

git reset --hard commit-id //回滾到commit-id 
git reset --hard HEAD~3 //將最近三次的提交回滾
git reset --hard HEAD^ //將原生程式碼回退到上一個版本
複製程式碼

標籤功能

有時候,我們的專案上線了,我們就需要標籤功能,記錄我們的版本

git tag //顯示已有的標籤
git tag v1.0.1 //建立一個輕量級標籤 
git tag -a v1.0.2 -m ‘release version’ //建立一個帶有標註的標籤
git tag -d tag_name //刪除標籤
git push //並不會把tag標籤傳送到遠端伺服器上,只有通過顯式命令才能分享標籤到遠端倉庫
git push origin tag_name //push單個tag 
git push origin --tags //推送所有本地新增的標籤 
複製程式碼

config配置

最後我們來說一下config配置

git config --global user.name  //檢視全域性配置的使用者名稱
git config --global user.email  //檢視全域性配置的郵箱
git config --global user.name 'zhangsha'  //配置全域性的使用者名稱
git config --global user.email 'xx@xx.com'  //配置全域性的郵箱
//下面是針對單獨的專案進行配置和檢視
git config user.name 'lisi'  //配置當前專案的使用者名稱
git config user.name  //檢視當前專案的使用者名稱
git config --list  //檢視多個配置
複製程式碼

配置分為全域性配置和專案配置,沒有對專案進行單獨配置的時候,會預設使用全域性的配置.如果我們在一個專案中進行了單獨的配置,那麼就會使用專案中配置.這個選項在你切換不同專案(比如公司和個人專案)的時候,可以起到一定的作用.s

相關文章