Git 这点事

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

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

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

 那么,最正确的做法是什么呢?用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 版本哈希

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值