git init
[初始化乙個本地的git倉庫,自己建立乙個空的資料夾用來作為自己的git本地倉庫]
git add
[新增單個檔案]
git add --a
[新增所有檔案]
git status
[檢視當前工作區中的狀態]
git commit -m "提交備註資訊"
[向自己的工作區提交修改]
git log
[檢視提交歷史]
git log --pretty=oneline
[簡化log資訊]
git log -1
[檢視最近一次的commit日誌資訊]
git log -p -1
[檢視最近一次的commit日誌資訊,並列出不同的內容]
git log --stat
[檢視所有的commit日誌資訊,並列出所有檔案的修改行數(不顯示具體的改動內容)]
git log --author=test
[檢視test推送的所有commit日誌資訊]
git log --name-only
[僅在提交資訊後顯示已修改的檔案清單。]
git log --name-status
[列出commit中檔案的新增、修改、刪除的檔案清單。]
git log --since=1.days
[當前時間之前1天的commit日誌資訊,也可以使用after]
git log --until=1.days
[前1天到最初的所有commit日誌資訊,也可以使用before]
git log master ^dev
[檢視master分支有,dev分支沒有的commit日誌資訊]
git log dev ^master
[檢視dev分支有,master分支沒有的commit日誌資訊]
git reset --hard head^
[回退到上乙個版本]
git reset --hard
[回退到指定的版本
git diff head --
[檢視工作區(存放已經新增的檔案的區域)和版本庫裡面最新版本的區別]
git blame 《檔名》
[檢視檔案具體的修改歷史,每次的commit id 和提交的內容]
git reflog
[檢視自己執行的命令歷史記錄]
git checkout --
[丟棄工作區的修改,讓這個檔案回到最近一次git commit或git add時的狀態]
這裡需要注意命令中的--
如果漏寫,則變成了切換分支的命令,在下面有講到
git checkout
[從指定commit中檢出指定路徑的檔案]
git rm
[確定要從git倉庫中刪除的檔案,先執行此命令,在執行git commit
git checkout -b dev
[建立dev分支,並切換到dev分支上]
這裡相當於執行了git branch dev
和git checkout dev
兩條命令
git branch
[檢視當前分支]
git checkout 《分支名稱》
[切換分支]
git merge 《分支名稱》
[將指定的分支內容合併到當前分支]
git branch -d 《分支名稱》
[刪除指定分支]
多分支協作有很多好處,一般自己的master分支是與伺服器倉庫保持一致的,並且要保證是穩定的,是最後要push的,平時自己開發可以建立乙個dev分支,功能都開發完畢測試通過之後,再將dev分支的內容合併到master分支上;平時在bug修改的時候,也可以通過不同的bug建立不同的分支來工作,這樣**互不影響,都能保證正常執行,修改完畢之
後,將相應的bug分支合併到master分支上,並將那個bug分支刪除即可,這樣能時刻保證master中的**是能正常執行的**
git log --graph
[可以檢視分支合併圖]
stash可以有多個,後面加上具體的stash名稱可以對指定的stash進行操作,通過git stash list
可以檢視所有的stash
git stash
[儲存工作區的所有內容,臨時有任務需要處理,但是暫時不想提交的檔案,可以先儲存起來(內容沒有提交),然後切換到其他分支進行處理]
git stash list
[檢視儲存的工作現場,可以有多個]
git stash drop
[刪除stash中儲存的內容]
git stash pop
[恢復工作區並刪除之前儲存的stash中的內容]
這裡需要注意,要現將自己的ssh公鑰新增到github或者碼雲上,然後才能執行與遠端倉庫相關的操作包括從遠端倉庫clone專案下來也需要新增ssh公鑰,具體的生成的命令可以使用,
ssh-keygen -t rsa -c "[email protected]"
git remote add 《別名》 《遠端倉庫位址》
[新增遠端倉庫,一般遠端倉庫的別名都使用origin,也可以指定其他的名稱,方便新增多個遠端倉庫]
git push -u 《遠端倉庫別名》 《本地當前分支(一般就是master分支)>
[第一次向空的遠端倉庫push**時候,使用該命令,可以把本地分支內容推送到遠端倉庫,並且將本地分支與遠端master分支關聯]
git push 《遠端倉庫別名》 master
[以後push**,就可以直接使用該命令,將本地master分支的內容推送到遠端倉庫中]
git push 《遠端分支別名》 《本地分支名稱》:《遠端分支名稱》
[將本地的指定分支推送到遠端倉庫(一般會是origin)上作為遠端分支,如果遠端分支已存在則會自動合併,如果不存在,則會在遠端建立乙個遠端分支]
git clone 《遠端倉庫位址》
[從遠端倉庫複製專案**到本地,想要學習開源專案的,可以通過該命令複製自己喜歡的專案到本地,檢視原始碼並學習原始碼]
git pull 《遠端倉庫別名》 《遠端分枝》
[從遠端倉庫拉取指定分支最新的**到當前分支]
git pull 《遠端倉庫別名》 《遠端分枝》:《本地分支名稱》
[從遠端倉庫拉取指定分支最新的**到指定分支]
以下兩條命令與git pull有相同的作用,但是更安全,可以自己選擇是否要合併到本地分支
git fetch 《遠端倉庫別名》 《遠端分支》:《本地分支名稱》
[獲取遠端指定分支最新的**庫並在本地建立乙個分支]
git merge 《本地分支》
[將建立的分支與當前分支合併,可以先執行git diff 《本地分支》
檢視具體的修改,自己決定是否需要合併分支]
git config --global alias.st status
[為git status
配置別名,以後就可以直接使用git st
來達到同樣的效果]
git config --global alias.co checkout
[為git checkout
配置別名,以後就可以直接使用git co
來達到同樣的效果]
git config --global alias.ci commit
[為git commit
配置別名,以後就可以直接使用git ci
來達到同樣的效果]
git config --global alias.br branch
[為git branch
配置別名,以後就可以直接使用git br
來達到同樣的效果]
git config --global alias.lg "log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)%creset' --abbrev-commit"
[格式化處理一下日誌顯示,讓檢視日誌更清晰直觀]
引用 廖雪峰老師的
Git常用操作命令
git常用操作命令收集 1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端倉庫 git remote rm name 修改遠端倉庫 git remote set url push ...
Git常用操作命令
git常用操作命令收集 1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端倉庫 git remote rm name 修改遠端倉庫 git remote set url push ...
Git常用操作命令
git常用操作命令收集 1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端倉庫 git remote rm name 修改遠端倉庫 git remote set url push ...