一,常見命令整理
1)git clone xxx:將遠(yuǎn)程git分支文件下載到本地
2)git checkout dev:切換到dev分支
3)git branch:查看當(dāng)前的git分支狀態(tài)
4)git add . :將文件夾下的文件夾及文件添加到git的暫存區(qū)
5)git commit -m "備注信息在這填寫":將本地的緩存及未提交文件提交到版本庫(kù)
6)git push:將版本庫(kù)的內(nèi)容提交到遠(yuǎn)程分支
7)git reset --hard HEAD^:回退到版本庫(kù)的上一個(gè)版本
8)git reset --hard 版本號(hào):回退到版本庫(kù)的指定版本號(hào)
9)git status:可以顯示分支沖突時(shí)沖突在哪里
10)git fetch:將遠(yuǎn)程分支拉取到版本庫(kù)
說(shuō)明:git pull和git fetch的區(qū)別

image
11)git merge dev:合并dev的內(nèi)容到本地來(lái),如果是忽略分支,則是合并當(dāng)前版本的內(nèi)容到本地來(lái)
12)git diff:查看開發(fā)庫(kù)的代碼沖突文件(查看文件后,需要手動(dòng)合并<<<<<< ============>>>>>>>>>>中的代碼內(nèi)容)
13)git log:查看commit日志()
說(shuō)明:查看git log中,對(duì)應(yīng)commit的哈希值,結(jié)合git reset --hard commit_id,可以回退到對(duì)應(yīng)的commit的內(nèi)容
14)git reset --mixed:不帶任何參數(shù)的git reset,即會(huì)回退到某個(gè)版本,只保留源碼,回退commit和index(暫存庫(kù))信息
15)git reset --soft:回退到某個(gè)版本,只回退了commit的信息,不會(huì)恢復(fù)到index file一級(jí),如果還要提交,直接commit即可
16)git reset --hard:徹底回退到上一個(gè)版本(后加版本號(hào)可以回退到固定版本),本地的源碼也會(huì)變?yōu)樯弦粋€(gè)版本內(nèi)容
二,git stash暫存命令:
(1)git stash save "save message" : 執(zhí)行存儲(chǔ)時(shí),添加備注,方便查找,只有g(shù)it stash 也要可以的,但查找時(shí)不方便識(shí)別。
(2)git stash list :查看stash了哪些存儲(chǔ)
(3)git stash show :顯示做了哪些改動(dòng),默認(rèn)show第一個(gè)存儲(chǔ),如果要顯示其他存貯,后面加stash@{$num},比如第二個(gè) git stash show stash@{1}
(4)git stash show -p : 顯示第一個(gè)存儲(chǔ)的改動(dòng),如果想顯示其他存存儲(chǔ),命令:git stash show stash@{$num} -p ,比如第二個(gè):git stash show stash@{1} -p
(5)git stash apply :應(yīng)用某個(gè)存儲(chǔ),但不會(huì)把存儲(chǔ)從存儲(chǔ)列表中刪除,默認(rèn)使用第一個(gè)存儲(chǔ),即stash@{0},如果要使用其他個(gè),git stash apply stash@{$num} , 比如第二個(gè):git stash apply stash@{1}
(6)git stash pop :命令恢復(fù)之前緩存的工作目錄,將緩存堆棧中的對(duì)應(yīng)stash刪除,并將對(duì)應(yīng)修改應(yīng)用到當(dāng)前的工作目錄下,默認(rèn)為第一個(gè)stash,即stash@{0},如果要應(yīng)用并刪除其他stash,命令:git stash pop stash@{$num} ,比如應(yīng)用并刪除第二個(gè):git stash pop stash@{1}
(7)git stash drop stash@{$num} :丟棄stash@{$num}存儲(chǔ),從列表中刪除這個(gè)存儲(chǔ)
(8)git stash clear :刪除所有緩存的stash
三,在Git-Fork-請(qǐng)求PR
1. 在github頁(yè)面上, 點(diǎn)擊fork按鈕, 將B的項(xiàng)目拷貝一份到自己的代碼倉(cāng)庫(kù)中.
2. 克隆自己的代碼倉(cāng)庫(kù)到本地.
$ git clone -b feature/1.0 [https://github.com/A/A.git](https://link.jianshu.com?t=https%3A%2F%2Fgithub.com%2FA%2FA.git)
3. 將源項(xiàng)目與自己的倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián)(upstream 是上游倉(cāng)庫(kù)的別名,別名隨意命名)
$ git remote add upstream [https://github.com/B/B.git](源倉(cāng)庫(kù)地址)
4. 列出當(dāng)前為復(fù)刻配置的遠(yuǎn)程倉(cāng)庫(kù).
$ git remote -v
$ git branch -a -vv 列出全部分支
5. 暫存已經(jīng)編輯的目錄和文件.
$ git add .
$ git stash
$ git push
6. 拉取B倉(cāng)庫(kù)的新代碼
$ git fetch upstream
7. 將源倉(cāng)庫(kù)新的部分合并到A的代碼倉(cāng)庫(kù)中, 使自己的的代碼倉(cāng)庫(kù)變成最新的代碼.
$ git merge upstream/main
8. 查看分支,確保在自己的本地分支上
$ git branch
9. 如果不在本地分支,則執(zhí)行 git checkout master ,如果在則忽略此步驟
10. 將剛剛暫存的代碼合并到現(xiàn)在最新的代碼中.
$ git stash pop
$ git stash apply stash@{0} (同時(shí)刪除stash )
11. 本地提交代碼.
$ git add .
$ git commit -m 提交代碼的注釋信息
12. 將源倉(cāng)庫(kù)新分支推送到自己的倉(cāng)庫(kù),并確定上傳流為自己的倉(cāng)庫(kù)
$ git push origin develop:develop -u
13. 在A的github倉(cāng)庫(kù)頁(yè)面上,點(diǎn)擊pull request向B發(fā)起PR請(qǐng)求.
如上是第一次進(jìn)行fork、克隆代碼、創(chuàng)建關(guān)聯(lián)、修改代碼提交等操作
當(dāng)再次本地修改代碼提交時(shí),執(zhí)行步驟6-11即可
四,只設(shè)置拉取倉(cāng)庫(kù)和提交倉(cāng)庫(kù):
1. git remote set-url origin 原始倉(cāng)庫(kù)
2. git remote set-url --push origin 自己的倉(cāng)庫(kù)
添加遠(yuǎn)程倉(cāng)庫(kù):
1. git init
2. git remote add origin 遠(yuǎn)程倉(cāng)庫(kù)
git 合并忽略文件配置
1. 分支A 合并到 分支B,忽略某個(gè)文件
2. 在A分支創(chuàng)建.gitattributes文件,并且在文件中配置忽略文件名
./Dockerfile merge=ours
3. 回到要合并到的分支master, 執(zhí)行命令:
git config --global merge.ours.driver true
git merge dev
五,git 賬號(hào)密碼配置:
1.設(shè)置git用戶名、密碼、郵箱的配置(全局配置)
查看配置:git config --list
本地配置:
git config user.name 用戶名
git config user.password 密碼
git config user.email 郵箱
全局配置:
git config --global user.name 用戶名
git config --global user.password 密碼
git config --global user.email 郵箱
2、執(zhí)行保存賬號(hào)命令
保存本地倉(cāng)庫(kù)的賬號(hào)(推薦)
git config --local credential.helper store
保存git全局賬號(hào)
git config --global credential.helper store
3,清除掉緩存在git中的用戶名和密碼
git credential-manager uninstall 和 git config --system --unset credential.helper
mac安裝homebrewd地址?
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
node版本管理工具N
npm i n -g
node.js舊版本下載:
http://nodejs.org/dist/