該博文徹底參考郭霖的《第一行代碼》git
安裝Gitgithub
Ubuntu系統:shell
只須要打開shell界面,並輸入:windows
sudo apt-get install git-core
按下回車後輸入密碼,便可完成Git的安裝。ide
Windows系統:fetch
先下載Git安裝包,下載地址:https://git-for-windows.github.io/,下載完成後點擊安裝包進行安裝,以後一直點擊「下一步」就能夠完成安裝。gradle
建立代碼倉庫ui
git config --global user.name "zy" git config --global user.email "zy@gmail.com"
git config --global user.name
git config --global user.email
cd c:
cd Pro/HelloWorld
而後完成建立本地代碼倉庫的操做idea
git init
建立完成後,根目錄下會生成一個隱藏的.git文件夾(產生該文件夾就說明本地代碼倉庫建立成功),能夠經過ls -al命令查看。spa
ls -al
若是項刪除本地倉庫,只須要刪除這個文件夾就行。
提交本地代碼
只須要用到add和commit命令就能夠了。add用於把想要提交的代碼先添加進來,而commit則是真正的去執行提交操做
git add helloworld.c //添加單個文件 git add . //添加項目根目錄下全部文件 git commit -m "First commit" //commit命令後面必定要經過-m參數來加上提交的描述信息
忽略文件
Git提供了一種可配性很強的機制來容許用戶將指定的文件或目錄排除在版本控制以外,它會檢查代碼倉庫的目錄下是否存在一個名爲.gitignore文件,若是存在的話,就去一行一行讀取這個文件中的內容,並把指定的文件或目錄排除在版本控制以外。好比:
*.iml //任意以.iml結尾的文件 /build //build文件夾 .gradle //.gradle文件 /.idea/workspace.xml //.idea文件夾中的workspace.xml文件
而後提交便可將上述文件或文件夾排除在版本控制以外
git add . git commit -m "First commit"
查看修改內容
使用Git查看上次提交後文件修改內容,status命令會顯示出全部自上次提交後全部有變化的文件
git status
使用diff命令能夠查看到全部文件的更改內容
git diff
git diff /src/hello.c //只查看hello.c這個文件的更改內容
撤銷未提交的更改
只要代碼還未提交,全部修改內容都是能夠撤銷的。
git checkout /src/hello.c //這個命令執行後,咱們對hello.c這個文件所作的一切修改就都被撤銷了
git reset HEAD /src/hello.c
git checkout /src/hello.c
查看提交記錄
使用log命令查看歷史提交信息,每次提交記錄都會包含提交id、提交人、提交日期以及提交描述這4個信息
git log
當提交記錄很是多的時候,若是咱們只想查看其中一條記錄,能夠在命令中指定該記錄的id,並加上-1參數表示咱們只想查看一條記錄
git log 1fa38afdj305fgjlj757 -1
若是想查看這條提交記錄具體修改了什麼內容,能夠在命令中加入-p參數
git log 1fa38afdj305fgjlj757 -1 -p
分支的用法
查看當前的版本庫中有哪些分支,前面帶有"*"的分支表明當前分支
git branch
建立新的分支
git branch version1.0
切換分支
git checkout version1.0
把version1.0分支上的修改合併到master上
git checkout master git merge version1.0
刪除分支
git branch -D version1.0
與遠程版本庫協做
將版本庫中的代碼下載到本地
git clone https://github.com/example/test.git //須要遠程版本庫的Git地址
使用push命令將本地修改的內容同步到遠程版本庫上,其中origin部分指定的是遠程版本庫地址,master部分指定的是同步到遠程版本庫的哪個分支上
git push origin master
將遠程版本庫的修改同步到本地,可使用fetch和pull命令
git fetch origin master //將遠程版本庫的代碼同步到本地,不過同步下來的代碼並不會合併到任何分支上,而是會存放到一個origin/master 分支上 git diff origin/master //咱們可使用diff命令查看遠程版本庫到底修改了哪些東西 git merge origin/master //而後調用merge命令將origin/master分支上的修改合併到本地主分支上
git pull origin master //pull命令則是將fetch和merge這兩個命令放在一塊兒執行,它能夠從遠程版本庫上獲取最新的代碼而且合併到本地