git for windows 本地倉庫


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一下就好。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM