git教程 创建版本库
安装git成功后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
注意:
git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
1、创建一个git仓库
创建一个新文件夹
mkdir newdir
进入文件夹
cd newdir
将这个文件夹初始化成为一个git仓库
git init
2、添加文件到git仓库
在文件夹新建一个文件,文件名为filename
touch filename。
添加文件
git add filename,可反复多次使用,添加多个文件(例如:git add filename filename2 filename3 ...)。
提交文件
git commit,可以使用git commit -m "infomation",每次对文件更改的描述可以写在"infomation"里边,日后帮助我们明白当初做了哪些修改。
3、修改文件后,请重复上述步骤
git add filename
git commit
4、查看仓库状态以及了解对文件做的修改
git status,查看仓库状态,以了解仓库是否有文件被修改,但还没有添加或提交。
git diff,查看对文件做了怎样的修改。
如果添加和提交文件后,以上两个命令将不会有任何输出。
5、显示提交日志
git log,显示从最近到最远的提交日志,如果嫌输出的信息太多,可以加上这个参数,命令变成这样,git log --pretty=oneline。
6、回退版本
git reset --hard HEAD,这样,就回退到了上一个版本,注意:HEAD表示当前版本,HEAD表示上一个版本,HEAD^^表示上上一个版本,往上100个版本是这样的HEAD~100,hard参数的意义后边讲。
7、查看文件内容
cat filename
8、在所有历史版本之间穿梭
git reset --hard 1234567,数字是你的commit id的前几位,数字是哪个版本,就回到哪个版本。
9、记录每次对文件更改的命令
git reflog,这个命令记录了你每次更改文件的信息,其中包括每个版本的commit id,这样就可以随便穿越每一个历史版本。
注意:
每次修改,必须先add到暂存区,然后才能commit到主分支。
10、撤销修改
场景1:当你改乱了工作区(没add之前)某个文件的内容,想直接丢弃工作区的修改时,使用命令:git checkout -- filename。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时(git add filename),想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经commit了不合适的修改到版本库时,想要撤销本次提交,参考[回退版本],不过前提是没有推送到远程库。
11、删除文件
一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:rm filename,git status命令会立刻告诉你哪些文件被删除了。
现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令
git rm filename删掉,并且git commit -m "remove filename",现在,文件就从版本库中被删除了。
另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:git checkout -- filename,git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。