下面小編牛牛給大家介紹一下自己學習工作中用到的一些git常用命令,眾所周知,git有三個工作狀態區:工作區,暫存區,歷史區
下載github,電腦和遠端github倉庫建立連結
SSH協議
一個公鑰只能配置一個賬戶,一個賬戶可以關聯多個公鑰,使用 SSH 協議來訪問 Git 倉庫,不需要每次連結都輸入賬號和密碼。ssh公鑰設定
基本配置如下(以mac為例子):
-
獲取你的ssh祕藥
ssh-keygen -t rsa -C <your_email@example.com>你的郵箱
-
github配置ssh,檔案中快速找到.ssh檔案
open ~/.ssh
-
配置第二個ssh
ssh-keygen -t rsa -C "your_secondemail@email.com" -f ~/.ssh/second_rsa
常用git命令
日常工作中,那我們現在的開發模式來講述的話,日常master分支,開發分支在master下面的其他分支,例如:dev專案分支,如果幾個人一起開發同一個專案,都在dev分支
- git add a.html/-A/.
將檔案新增到暫存區
- git commit -m '提交註釋'
將檔案新增到歷史區
- git pull origin dev
從遠端倉庫dev拉取最新程式碼
- git push origin dev
修改內容推送到遠端倉庫dev
- git log / git log --pretty=oneline
查詢提交commit版本,命令列退出編輯,點選esc,再點選:再之後wq ,回車即可退出;
- git reset --hard HEAD^/ git reset --hard 1094a(版本號)
- git reflog 針對reset回退,需要再回到reset之前
- git checkout -- 檔案
清掉工作區的內容,針對還沒有add的檔案,丟掉工作區的程式碼
- git reset HEAD 檔案
add到暫存區使用該命令撤回到歷史區
從遠端倉庫刪除託管在git上面的檔案,比如.git或者node_modules檔案等
如果在.gitignore檔案少些了些忽略檔案並且不小心把程式碼提交到了遠端倉庫,每次提交都有一大堆檔案,如何解決此問題,步驟如下:
- 新加ignore檔案
node_modules/
- 然後刪除遠端分支上面的多餘檔案
git rm -r --cached node_modules
- 再然後將本地修改的檔案提交到遠端倉庫中 add+commit+push
分支管理
- 新建並切換分支test
git checkout -b test
- 檢視當前分支 本地/遠端
git branch/git branch -a
- 分支合併
git merge test
切記:在test分支切換到別的分支,進行分支合併,git log查詢不到合併細節,fast-forward合併
-
分支合併(帶歷史記錄版本)
git merge test --no-ff -m 'merge with no-ff' test
-
刪除分支: 本地/遠端
git branch -D test / git push origin --delete test
切記:在test分支切換到別的分支才可以刪除分支
本地遠端分支多人協作
- 新建分支並和遠端連線
git checkout -b dev origin/dev
- 新建分支並和遠端連線
git branch --set-upstream dev origin/dev
Git push —set-upstream origin dev
git版本回退
遵循三要素,歷史回工作前,暫存回工作後,工作後回工作前