Git常用命令解讀
1.本地git命令
git有三種狀態,工作區、暫存區、倉庫,工作區有當前正在修改的檔案,執行了add操作會新增到暫存區,執行commit操作會提交到倉庫。
git init //初始化一個資料夾為git倉庫。 git status //檢視當前提交狀態。 git checkout a.md //還沒有add時,切換到原檔名可以直接恢復原來的檔案。 git add . //新增全部程式碼進如暫存區。 git rm --cached //移除暫存區的程式碼。 git commit -m "first commit" //提交程式碼到本地倉庫。 git log //檢視提交記錄。 git branch a //新增分支a,單獨執行git branch是檢視所有分支。 git checkout a //切換到a分支。 git checkout -b a //切換到新建的a分支,即新建和切換一步完成。 git merge a //合併a分支到此時所在的分支上。 git branch -d a //刪除已經合併過的沒用了的分支,如果還沒有合併,要強行刪除,則把小d改成大D即可。
2.遠端github命令
ssh -keygen -t rsa
首先生成祕鑰,翻譯為ssh祕鑰指定以rsa演算法生成,連續敲三下回車,而後在c盤下找到pub祕鑰新增到github上。
ssh -T [email protected]
檢視是否聯通了github,如果失敗,多半是沒有設定代理,具體新增哪些host在之前文章有所提及。
git config —-global user.name "cwx2810"
git config —-global user.email "[email protected]"
在本地設定自己的使用者名稱與郵箱,要和github上的一致,這些會出現在每次的提交記錄裡。
git clone [email protected]:cwx2810/xxx.git
最好是本地沒有專案,直接先在github上建好克隆到本地,直接就連線好了,或者本地檔案全部丟失,也可以很方便的克隆github上已經備份的倉庫到本地,倉庫在本地的形式是一個資料夾。
git remote add origin [email protected]:cwx2810/xxx.git
若是本地先有的專案,那就麻煩一點,首先在github上新建一個空倉庫,然後執行上面的程式碼,意思是遠端新增名叫origin的倉庫到xxx。
git push origin master
倉庫建好就可以寫程式碼了,在本地add和commit到本地倉庫後,推origin到遠端主分支,origin只是代表倉庫名字。
git pull origin master
拉origin到本地主分支。
3.進階github命令
git diff //比較工作區和暫存區的程式碼。
git diff --cache //比較暫存區和本地倉庫的程式碼。
git diff HEAD //比較工作區和本地倉庫的程式碼。
git stash
只要還沒有commit到倉庫的程式碼,都能進行隱藏,因為有時程式碼寫到一半,還不宜提交,但是有別的分支的緊急bug要處理,就要用到這個,把當前狀態掛起,處理完bug,再git stash apply恢復。git stash list顯示所有掛起的記錄,git stash drop刪除最近一條掛起記錄,git stash pop直接彈出,就是不僅恢復程式碼,同時刪除最近一條記錄,git stash clear清空所有掛起記錄。
git rebase
和merge異曲同工,只不過merge是把其他分支的程式碼按照後來的順序合併到主分支,rebase是把其他分支的程式碼和主分支柔和,按照所有人提交的時間順序合併。在團隊開發中常用merge,因為可以知道哪些提交是來自哪裡,區分度好。
4.分支操作
git push origin develop //把本地develop分支推送到遠端origin倉庫。
git branch -r //檢視遠端分支。
git push origin :develop //刪除遠端分支,
git checkout develop origin/develop //如果遠端有分支,本地沒有,可以把遠端分支遷移到本地。