您的位置:首页 > 其它

Git 这点事

2015-08-17 00:37 274 查看
我参加工作已经半年多了,再过几个月就1年了。但是,我git用的毫不客气的说,就是新手,纯新手的那种。曾经一度git把我搞的晕头转向,我也曾经找了很多资料,但是结果都非常不理想,要么,写的太高深,看不懂,要么就是太简单,非常的不理想。今天周末,找了一个高手交流了一下,懂了很多,特意记录下来,方便自己以后查看,也方便需要的人查看。

首先,git是目前世界上最先进的分布式版本控制系统(没有之一)。svn是集中式,而git是分布式,有着天壤之别。

由于今天太晚,我自己尝试了很多命令行,我就先写我感受最深刻的“如何来忽略文件”。说到忽略文件,很多人都会想到.gitignore这个文件,没错,这个文件可以达到忽略文件的目的。但是,使用这个方法来忽略有个前提,那就是[b]该文件只能作用于 Untracked
Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。[/b]如果你add或者commit过,别报幻想了,用这个方法不可能达到忽略的目地。也有人会说,可以用[b]git
rm --cached这个命令
,没错,这个命令可以达到暂时忽略的目的,但并非正确做法,有很多不良隐患,[/b]比如,重新克隆工程就会继续跟踪。

那么,最正确的做法是什么呢?用git
update
-index --assume-unchanged 这个命令,后面参数跟文件或者文件夹。如果是文件夹,如果对bin目录进行忽略,应该这样写(bin/*)这个命令的用法是:针对git数据库里被记录的文件进行忽略,它不会理睬你对文件做的修改。所以,也有一个命令重置标识,即git
update-index --no-assume-unchanged 这个命令
,后面参数跟文件或者文件夹,可以继续对它进行跟踪。

如果已经提交了,但是想回退到某个版本怎么办呢?该用哪个命令呢?

git
reset --hard HEAD~
*,*是int型,以当前所在位置为准,你想回退几个版本这个*就写几。例如,我想回退上个版本,就是1个版本,应该写:git
reset --hard HEAD~1

如果我回退了某个版本之后,我想再回到同一个分支的其他节点怎么办呢?

git
reset --hard
版本哈希值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: