1. 程式人生 > >Git常用命令解讀

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 //如果遠端有分支,本地沒有,可以把遠端分支遷移到本地。