專案初始化
git init
複製程式碼
專案初始化之後會生成一個.git檔案,如果看不見,可能是因為電腦隱藏了以.開頭的檔案
克隆專案
git clone xxxx // xxxx 表示專案地址
複製程式碼
表示從遠端倉庫拉取專案到本地
本地專案關聯遠端倉庫
如果我們本地是有專案的,我們想要的是將本地的專案和遠端倉庫關聯起來,那麼有如下兩種情況
- 本地已有檔案與git倉庫關聯起來(空倉庫)
- 本地已有檔案與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