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