git基本配置和操作
1. 生成密鑰(公鑰私鑰)
- 生成用戶名
git config –global user.name “your_username” - 生成郵箱
git config –global user.email “[email protected]” - 生成密鑰
ssh-keygen -t rsa -C “[email protected]”
然後一直yes/enter生成密鑰
2. 綁定異常
eval "$(ssh-agent -s)"
ssh-add
3. 密鑰添加到git上
git上settings–>Deploy keys–>Add deploy key–>把你的 ~/.ssh/id_rsa.pub 的內容添加進去就可以了
4. 使用git
- git clone [email protected]
- git init (初始化git,也就是生成.git文件)
- 關聯本機操作
- git add . (添加當前所有)
- git commit -m “name” (提交到本機日誌)
- 查看工作區更改內容
- git diff (工作區和緩衝區比較)
- git diff commit_id (工作區和某一版本比較)
- 查看commit及回退
- git log (查看歷史版本)
- git reset –hard commid_id (回退到某一版本)
- git reset HEAD^ index.txt (單獨回退某一個文件,只能用HEAD,不能用–hard)
- 如果回退之後又不想回退了
- git reflog (查看回退之前的版本號)
- git分支管理
- 創建刪除切換
- git branch (查看所有分支,帶*表示當前分支)
- git branch dev (創建dev分支)
- git checkout dev (從當前分支切換到dev,當你切換分支後,系統會自動將當前所有文件改爲該分支的最後一次快照)
- git checkout -b dev (創建dev,並切到dev)
- git branch -d dev (刪除dev分支)
- 合併
- git merge dev (假設現在在master分支,執行這個命令是把master分支變得和dev一致)
- 合併衝突
- git merge dev 有時會報錯,當兩個分支對同一個文件都做了不同的修改的時候,合併就報錯,需要我們更改當前分支的內容,就可以了
- 合併報錯之後你只要修改了衝突的位置,再提交就OK了
- 暫存區stash(修改bug的時候用到)
- 如果遇到一個bug,需要立即修改,而你自身的dev開發還沒完成,此時我們可以用stash暫存
- git stash (暫存工作區,此時git status的話就會發現很乾淨)
- 修復bug,先從master上創建並轉到一個分支,再修復bug之後,轉到master合併bug分支,刪除bug分支
- git heckout dev (切回之前工作的分支)
- git stash list (查看暫存區)
- git stash pop (恢復暫存區內容到當前分支並在暫存區中刪除內容)
- 開發新功能
- 開發新功能最好新建一個分支,開發完畢之後合併到dev,再刪除分支
- 如果一個分支沒有合併就必須刪除,那麼就使用:git branch -D feature (強制刪除)
- 多人協作
- git clone [email protected] (當我們clone遠程代碼的時候會自動創建一個master分支)
- git checkout -b dev (爲方便開發,我們可以創建一個分支dev)
- git push origin dev (要時常推送新代碼到倉庫的dev,保持同步更新)
- 推送的時候,如果別人也推送過,並且更改文件你的一樣,就會推送失敗,這時會提示你從遠端倉庫pull下來合併
- git pull (如果pull失敗,報set tracking information,說明你的dev沒有與遠程dev連接)
- git branch –set-upstream dev origin/dev (連接遠程origin/dev,到自身的dev)
- 根據提示合併不同項,最後提交
- 再推送 git push origin dev
- 創建刪除切換