1.安裝
先在網上安裝好git for windows的程序
在gitbash中輸入以下
$ git config --global user.name "Your Name" $ git config --global user.email email@example.com
2.創建版本庫
根據自己的喜好找個目錄創建一個文件夾,我這里選的是E:/mygit/
右鍵-git bash here,輸入如下,把這個目錄變成Git可以管理的倉庫
$ git init
發現當前目錄下多了一個.git
的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄里面的文件,不然改亂了,就把Git倉庫給破壞了。
3.把文件添加到版本庫
在當前目錄下創建一個readme.txt,內容為
Git is a version control system. Git is free software.
用add將文件添加到倉庫
$ git add readme.txt
用commit將文件提交到倉庫
$ 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
時光穿梭機
我們繼續修改readme.txt文件,改成如下內容:
Git is a distributed version control system. Git is free software.
運行git status命令可以查看修改的結果
運行git diff 命令可以查看修改前后的記錄
版本回退
修改readme.txt
Git is a distributed version control system. Git is free software distributed under the GPL.
提交后用git log可以查看提交的歷史記錄,用如下命令回退到上個版本
$ git reset --hard HEAD^
HEAD^指代當前commit的上一次commit
如果回退了又想前進回去呢?那就把那一次的commit id找到然后輸入如下就好了
$ git reset --hard <commit id>
版本號沒必要寫全,前幾位就可以了,Git會自動去找。當然也不能只寫前一兩位,因為Git可能會找到多個版本號,就無法確定是哪一個了。
除此之外,Git還提供了一個命令git reflog
用來記錄你的每一次命令。
如果你回退到了某個版本,關掉了電腦,第二天早上就后悔了,想恢復到新版本卻找不到新版本的commit id,就用git reflog來查看。
工作區和暫存區
工作區(Working Directory),就是我們電腦上的目錄
版本庫(Repository),就是我們目錄里的.git
Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有Git為我們自動創建的第一個分支master,以及指向master的一個指針叫HEAD。
我們添加文件分成兩步
第一步是用git add
把文件添加進去,實際上就是把文件修改添加到暫存區;
第二步是用git commit
提交更改,實際上就是把暫存區的所有內容提交到當前分支。
因為我們創建Git版本庫時,Git自動為我們創建了唯一一個master
分支,所以,現在,git commit
就是往master
分支上提交更改。
你可以簡單理解為,需要提交的文件修改通通放到暫存區,然后,一次性提交暫存區的所有修改。
撤銷修改
修改readme
Git is a distributed version control system. Git is free software distributed under the GPL. Git has a mutable index called stage. Git tracks changes of files. My stupid boss still prefers SVN.
在你准備提交前,一杯咖啡起了作用,你猛然發現了“stupid boss”可能會讓你丟掉這個月的獎金!
既然錯誤發現得很及時,就可以很容易地糾正它。你可以刪掉最后一行,手動把文件恢復到上一個版本的狀態。如果用git status
查看一下
你可以發現,Git會告訴你,git checkout -- file
可以丟棄工作區的修改:
$ git checkout -- readme.txt
刪除文件
rm <file name>后commit一下就好。