赞
踩
跳过下载安装直入正题
- git config --global user.name "Your user name"
-
- git config --global user.mail "Your Email"
注意git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
例如在D盘创建一个Test文件夹作为仓库 gitbash中 cd命令进入Test文件夹:
这时候会看到一个.git文件夹
这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
如果你没有看到.git
目录,那是因为这个目录默认是隐藏的,用ls -ah
命令就可以看见:
添加文件到Git仓库,分两步:
git add <file>
,注意,可反复多次使用,添加多个文件;git commit -m <message>
,完成。
-m后的字符为"提交时的描述" 方便日后查找
现在,运行git status
命令看看结果:
git status
命令可以让我们时刻掌握仓库当前的状态,上面的命令输出告诉我们,test.txt
被修改过了,但还没有准备提交的修改。
虽然Git告诉我们test.txt
被修改了,但如果能看看具体修改了什么内容,自然是很好的。比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的test.txt
,所以,需要用git diff
这个命令看看:
git diff
顾名思义就是查看difference,可以看到内容被更改为content2了,这时候提交仓库:
依然是git add 和git commit -m 命令:
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD
表示当前版本,也就是最新的提交1094adb...
(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。
现在,我们要把当前版本append GPL
回退到上一个版本add distributed
,就可以使用git reset
命令:
现在我们再看test.txt文件就回到了第一次提交的版本:
输入git reset --hard d1fdc回到最新版本:
Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD
指针,当你回退版本的时候,Git仅仅是把HEAD从指向对应的版本
然后顺便把工作区的文件更新了。所以你让HEAD
指向哪个版本号,你就把当前版本定位在哪。
现在,你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id
怎么办?
在Git中,总是有后悔药可以吃的。当你用$ git reset --hard HEAD^
回退到content1
版本时,再想恢复到content2
,就必须找到content2
的commit id。Git提供了一个命令git reflog
用来记录你的每一次命令:
小结
现在总结一下:
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。
穿梭前,用git log
可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog
查看命令历史,以便确定要回到未来的哪个版本。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。