Git是一個開源的分佈式版本控制系統,用以有效、高速的處理從很小到很是大的項目版本管理。經過使用git適合分佈式開發、靈活、快捷、方便,兩個開發者之間方便解決衝突。git
建立git倉庫: git init服務器
把文件添加到版本庫(暫存區):git add readme.txtapp
把文件提交到倉庫: git commit -m "" ssh
-m: 表示本次提交的說明," "中的內部即對本次提交的說明分佈式
倉庫當前的狀態: git status fetch
查看修改的內容: git diff版本控制
顯示最近到最遠的提交日記: git log指針
咱們能夠看到3次提交,最近的一次是append GPL,上一次是add distributed,最先的一次wrote a readme file開發
返回上一個版本:git resetit
git checkout --readme.txt是指把readme.txt文件在工做區的修改所有撤銷,就是讓這個文件回到最近一次git commit 或者git add時的狀態
建立SSH Key
ssh keygen -t rsa -c "yourenamil@example.com"能夠在用戶主目錄裏找到.ssh目錄,裏面有id_rsa和id_rsa.pub兩個文件,這兩個文件就是SSH Key的私鑰對,id_ras是私鑰,不能泄露,id_rsa.pub是公鑰,能夠放心告訴任何人。
公鑰: cat .ssh/id_rsa.pub
私鑰: cat .ssh/id_rsa
把本地的內容推送到遠程,用git push命令,其實是吧當前分支master推送到遠程
git push origin master
克隆一個本地庫: git clone
當咱們建立新的分支,例如dev時,git新建了一個指針叫dev,指向master相同的提交再把head指向dev,就表示當分支在dev上
查看分支: git branch
建立分支: git branch <name>
切換分支: git checkout <name>
建立+切換分支: git checkout -b <name>
合併某分支到當前分支: git merge <name>
刪除分支: git branch -d <name>
當git沒法自動合併時,就必須首先解決衝突,解決衝突後,再提交合並完成
git commit
git reset
git fetch: 服務器上拉下來,與本地文件合併,並自動或手動解決衝突
git rebase -i origin/develop
git rebase --continue
信息: Applying: Add new alter
git push origin develop