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

 

posted @ 2016-06-04 15:01  zcynine  阅读(3101)  评论(0编辑  收藏  举报