一 、git的安裝git
windows下面的安裝:https://git-for-windows.github.io 從這裏下載徹底無腦安裝。github
安裝完成後,在開始菜單裏找到「Git」->「Git Bash」 表示安裝成功。windows
以後,在命令行輸入:url
$ git config --global user.name "Your Name"spa
$ git config --global user.email "email@example.com".net
二 、命令行
1.建立版本庫版本控制
第一步,打開git,切換到你想要建立版本庫的文件夾。日誌
例如:server
$ mkdir learngit
$ cd learngit
$ pwd
/Users
pwd命令用於顯示當前目錄。在個人Mac上,這個倉庫位於/Users。
PS:使用Windows系統,爲了不遇到各類莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文。
第二步,經過git init命令把這個目錄變成Git能夠管理的倉庫(git的初始化操做)
2.把文件添加到版本庫
在Learngite文件夾下面建立一個文件命名爲readme.txt.隨意添加內容在文檔裏面。
千萬不要使用Windows自帶的記事本編輯任何文本文件
第一步,用命令git add告訴Git,把文件添加到倉庫
$ git add readme.txt
執行上面的命令,沒有任何顯示,這就對了,Unix的哲學是「沒有消息就是好消息」,說明添加成功。
第二步,用命令git commit告訴Git,把文件提交到倉庫:
$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
git commit命令,-m後面輸入的是本次提交的說明,最好是有意義的,便於之後的修改。
三 版本控制
1.運行git status命令查看當前文件的狀態:
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
git status命令可讓咱們時刻掌握倉庫當前的狀態,上面的命令告訴咱們,readme.txt被修改過了,但尚未準備提交的修改。
2.運用git diff 查看文件的改變,若是有改變能夠用git add 提交,以後用git commit -m ‘修改提示’,進行更新版本。
四 版本回溯
1 用 git log 查看git日誌。
git log命令顯示從最近到最遠的提交日誌
git log --pretty=oneline 命令是用來查看git的版本號(commit id)十六進制表示
2.用git reset --hard HEAD^命令回到上一個版本,head~10回到以前第十個版本。
$ git reset --hard HEAD^
.git reset --hard commit id,表示回溯到指定的版本
PS:工做區域與暫存區域的理解
把文件往Git版本庫裏添加的時候,是分兩步執行的:
第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區;
第二步是用git commit提交更改,實際上就是把暫存區的全部內容提交到當前分支。
git diff HEAD -- readme.txt 命令表示查看工做區的版本與版本庫最新的版本的區別。
Git是跟蹤修改的,每次修改,若是不add到暫存區,那就不會加入到commit中。
命令git checkout -- readme.txt意思就是,把readme.txt文件在工做區的修改所有撤銷,這裏有兩種狀況:
一種是readme.txt自修改後尚未被放到暫存區,如今,撤銷修改就回到和版本庫如出一轍的狀態;
一種是readme.txt已經添加到暫存區後,又做了修改,如今,撤銷修改就回到添加到暫存區後的狀態。
總之,就是讓這個文件回到最近一次git commit或git add時的狀態。
2 第二種狀況 加入修改的文件已經添加到暫存區,第一步使用 git reset HEAD file(文件名)撤銷暫存,再使用 git checkout -- file(文件名)取消修改。
3 rm file(文件名) 刪除一個文件。
(1)若是肯定刪除 使用刪除命令 git rm file(文件名) 完全刪除文件,以後須要 git commit -m ‘刪除了一個xxx文件’.
(2)若是刪錯了,使用git checkout -- file(文件名)
五 、 遠程庫建立
要關聯一個遠程庫,使用命令git remote add origin git@server-name:path/repo-name.git;
關聯後,使用命令git push -u origin master第一次推送master分支的全部內容;
此後,每次本地提交後,只要有必要,就可使用命令git push origin master推送最新修改;
要克隆一個倉庫,首先必須知道倉庫的地址,而後使用git clone 地址 命令克隆
查看當前配置有哪些遠程倉庫,能夠用 Git remote -v 命令
六 建立分支
查看分支:git branch
建立分支:git branch <name>
切換分支:git checkout <name>
建立+切換分支:git checkout -b <name>
合併某分支到當前分支:git merge <name>
刪除分支:git branch -d <name>
當Git沒法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。
用git log --graph命令能夠看到分支合併圖。
切換遠程庫的位置: git remote set-url origin https://github.com/hollychengjianhua/learngit.git