Git總結筆記1-搭建和使用30條簡明筆記

  1. 環境搭建:
  • Linux:安裝git yum install -y git
  • Windows:到官網下載安裝包

安裝完成後配置以下用戶名和郵箱:git

git config --global user.name "Your Name"
git config --global user.email "email@example.com"
  1. 經過 git init 命令把當前目錄變成Git能夠管理的倉庫(先cd到要變成倉庫的目錄下執行命令git init,執行完命令後就能在當前目錄下看到.git文件,此文件爲隱藏文件,不能刪除,用於跟蹤目錄變化)github

  2. 經過 git add <filename> 把文件添加到暫存區(重複操做添加多個文件到暫存區)app

  3. 經過 git commit -m "版本修改註釋" 將文件提交到倉庫ssh

  4. 經過 git status 查看倉庫當前的狀態(能查看到是否有修改,是否已提交)url

  5. 經過 git diff <filename> 查看當前內容和分支中最新版本的內容的修改狀況(查看清楚修改了什麼內容後就放心提交了git add <filename>)日誌

  6. 經過 git log 查看從最近到最遠的提交日誌(能夠加上參數簡單查看git log --pretty=oneline)(而後根據顯示的版本號回退版本)code

  7. 經過 git reset --hard HEAD^ 回退到上一個版本(HEAD表示當前版本,HEAD^表示上一版本,HEAD^^表示上上一版本)(回退方法一)rem

  8. 經過 git reset --hard <commit id> 回退到指定id的版本(<commit id>用命令git log 查看)it

  9. 經過 git reflog 命令查看命令歷史就能夠查看到將來的版本號了(當你回退到某個版本後,再像恢復到最新版本時,用git log 命令已經查看不到最新版本的commit id 了,這時經過git reflog 命令查看命令歷史)ast

  10. 經過 git checkout -- <filename> 能夠撤銷文件在工做區的所有修改。 (有兩種狀況: 一種是 <filename> 自修改後尚未被放到暫存區,如今,撤銷修改就回到和版本庫如出一轍的狀態; 另外一種是 <filename> 已經添加到暫存區後,又做了修改,如今,撤銷修改就回到添加到暫存區後的狀態。)

  11. 經過 git reset HEAD <filename> 能夠把暫存區的修改撤銷掉(unstage),從新放回工做區(git reset 命令既能夠回退版本,也能夠把暫存區的修改回退到工做區。)

  12. 經過 git rm <filename> 而且 git commit刪除文件(通常狀況下,你一般直接在文件管理器中把 沒用的文件刪了,或者用 rm 命令刪了;如今你有兩個選擇,一是確實要從版本庫中刪除該文件,那就用命令git rm刪掉,而且git commit;二是刪錯了,由於版本庫裏還有呢,因此能夠很輕鬆地把誤刪的文件恢復到最新版本 git checkout -- <filename>)

  13. 經過 ssh-keygen -t rsa -C "youremail@example.com"來建立SSH Key(執行命令後一路按回車)(執行完成後會在用戶主目錄下多出一個.ssh 的文件夾,文件夾裏面有id_rsa私鑰和id_rsa.pub公鑰)

  14. 登錄GitHub 設置SSH Keys(填寫上一步生成的id_rsa.pub公鑰)

  15. 經過 git remote add origin git@github.com:kangvcar/learngit.git 把本地倉庫和遠程GitHub倉庫關聯(url從github的repo項目裏能夠找到)

  16. 經過 git push -u origin master 把本地倉庫的全部內容推送到遠程庫上(第一次使用加上了-u,是推送內容並關聯master分支。以後推送直接git push origin master)

遠程倉庫:(從遠程倉庫克隆到本地倉庫) 18. 經過 git clone git@github.com:kangvcar/xx.git 把遠程倉庫克隆到本地倉庫(url從github的repo項目裏能夠找到)

分支管理: 19. 經過 git checkout -b dev 來建立並切換到dev分支(-b參數表示建立並切換分支,至關於git branch dev git checkout dev 兩個命令的效果)

  1. 經過 git branch 來查看當前分支(當前分支前會有*號)

  2. 切換分支後 git add <filename>git commit -m "修改註釋"這些操做都將在新分支dev上完成,與master分支沒有影響。

  3. 經過 git checkout master 切換回master分支。(若是dev分支沒有合併到master分支上,那麼在master分支上是看不到dev分支所作的修改)

  4. 經過 git merge dev 來把dev分支的工做成果合併到當前分支上(master分支)

  5. 經過 git branch -d dev 來刪除dev分支(上一步將dev分支合併到master分支後就能夠放心的刪除dev分支了)

  6. 經過 git merge --no-ff -m "合併註釋" dev 來合併分支的話,git會生成一個新的commit,這樣就不會刪除所合併分支的歷史了。(--on-ff 參數表示用普通模式合併,而不是快速模式;快速模式合併後會刪除合併前的分支,而普通模式不會刪除)(用此命令代替git mergo dev)

  7. 經過 git log --graph 來查看分支合併圖(具體命令 gti log --graph --pretty=oneline --abrev-commit)

  8. 經過 git stash 來存儲並隱藏現場(隱藏現場後能夠建立新分支去完成其餘工做,而不影響已經隱藏起來的現場;通常臨時須要修改bug,而手頭上又有未完成的工做是使用)

  9. 經過 git stash list 來查看隱藏現場的列表

  10. 經過 git stash pop git stash apply 來恢復現場(git stash pop 恢復後刪除stash的內容;而git stash apply 恢復後不會刪除stash的內容,如需刪除用git stash drop)(命令後面能夠接參數來恢復指定stash,如 git stash apply stash@{0} ,stash@{0} 經過git stash list 查看)

工做區就是咱們電腦裏能看到的目錄。 stage就是暫存區,經過git add <filename>就是將文件提交到暫存區。 master就是master分支,經過git commit 就是將暫存區的文件更改提交到master分支上。

相關文章
相關標籤/搜索