Git總結筆記1-搭建和使用30條簡明筆記
阿新 • • 發佈:2017-05-14
工作區 本地倉庫 模式 ins git windows 歷史 總結 log 把文件添加到暫存區(重復操作添加多個文件到暫存區)
4.通過
1.環境搭建:
Linux:安裝git安裝包(yum install -y git
)
Windows:到官網下載安裝包
安裝完成後配置如下用戶名和郵箱:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
2.通過 git init 命令把當前目錄變成Git可以管理的倉庫(先cd到要變成倉庫的目錄下執行命令git init,執行完命令後就能在當前目錄下看到.git文件,此文件為隱藏文件,不能刪除,用於跟蹤目錄變化)
3.通過
git add <filename>
git commit -m "版本修改註釋"
將文件提交到倉庫
5.通過 git status
查看倉庫當前的狀態(能查看到是否有修改,是否已提交)
6.通過 git diff <filename>
查看當前內容和分支中最新版本的內容的修改情況(查看清楚修改了什麽內容後就放心提交了git add <filename>)
7.通過 git log
查看從最近到最遠的提交日誌(可以加上參數簡單查看git log --pretty=oneline)(然後根據顯示的版本號回退版本)
8.通過 git reset --hard HEAD^
回退到上一個版本(HEAD表示當前版本,HEAD^表示上一版本,HEAD^^表示上上一版本)(回退方法一)
9.通過 git reset --hard <commit id>
回退到指定id的版本(<commit id>用命令git log 查看)
10.通過 git reflog
命令查看命令歷史就可以查看到未來的版本號了(當你回退到某個版本後,再像恢復到最新版本時,用git log 命令已經查看不到最新版本的commit id 了,這時通過git reflog 命令查看命令歷史)
11.通過 git checkout -- <filename>
可以撤銷文件在工作區的全部修改。
(有兩種情況:
一種是 <filename> 自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
另一種是 <filename> 已經添加到暫存區後,又作了修改,現在,撤銷修改就回到添加到暫存區後的狀態。)
12.通過 git reset HEAD <filename>
可以把暫存區的修改撤銷掉(unstage),重新放回工作區(git reset 命令既可以回退版本,也可以把暫存區的修改回退到工作區。)
13.通過 git rm <filename>
並且git commit刪除文件(一般情況下,你通常直接在文件管理器中把
沒用的文件刪了,或者用 rm 命令刪了;現在你有兩個選擇,一是確實要從版本庫中刪除該文件,那就用命令git rm刪掉,並且git commit;二是刪錯了,因為版本庫裏還有呢,所以可以很輕松地把誤刪的文件恢復到最新版本git checkout -- <filename>)
14.通過 ssh-keygen -t rsa -C "[email protected]"
來創建SSH Key(執行命令後一路按回車)(執行完成後會在用戶主目錄下多出一個.ssh 的文件夾,文件夾裏面有id_rsa私鑰和id_rsa.pub公鑰)
15.登陸GitHub設置SSH Keys(填寫上一步生成的id_rsa.pub公鑰)
16.通過 git remote add origin [email protected]:kangvcar/learngit.git
把本地倉庫和遠程GitHub倉庫關聯(url從github的repo項目裏可以找到)
17.通過 git push -u origin master
把本地倉庫的所有內容推送到遠程庫上(第一次使用加上了-u,是推送內容並關聯master分支。之後推送直接git push origin master)
遠程倉庫:(從遠程倉庫克隆到本地倉庫)
18.通過 git clone [email protected]:kangvcar/xx.git
把遠程倉庫克隆到本地倉庫(url從github的repo項目裏可以找到)
分支管理:
19.通過 git checkout -b dev
來創建並切換到dev分支(-b參數表示創建並切換分支,相當於git branch dev 和 git checkout dev 兩個命令的效果)
20.通過 git branch
來查看當前分支(當前分支前會有*號)
21.切換分支後 git add <filename> 和 git commit -m "修改註釋"
這些操作都將在新分支dev上完成,與master分支沒有影響。
22.通過 git checkout master
切換回master分支。(如果dev分支沒有合並到master分支上,那麽在master分支上是看不到dev分支所做的修改)
23.通過 git merge dev
來把dev分支的工作成果合並到當前分支上(master分支)
24.通過 git branch -d dev
來刪除dev分支(上一步將dev分支合並到master分支後就可以放心的刪除dev分支了)
25.通過 git merge --no-ff -m "合並註釋" dev
來合並分支的話,git會生成一個新的commit,這樣就不會刪除所合並分支的歷史了。(--on-ff 參數表示用普通模式合並,而不是快速模式;快速模式合並後會刪除合並前的分支,而普通模式不會刪除)(用此命令代替git mergo dev)
26.通過 git log --graph
來查看分支合並圖(具體命令 gti log --graph --pretty=oneline --abrev-commit
)
27.通過 git stash
來存儲並隱藏現場(隱藏現場後可以創建新分支去完成其他工作,而不影響已經隱藏起來的現場;一般臨時需要修改bug,而手頭上又有未完成的工作是使用)
28.通過 git stash list
來查看隱藏現場的列表
29.通過 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 查看)
30.
工作區就是我們電腦裏能看到的目錄。
stage就是暫存區,通過git add <filename>就是將文件提交到暫存區。
master就是master分支,通過git commit 就是將暫存區的文件更改提交到master分支上。
Git總結筆記1-搭建和使用30條簡明筆記