GIT使用笔记

文章目录

GIT使用笔记

##GIT合并时二进制文件冲突
GIT在合并时如果出现冲突,如果是普通的文本文件,git会在文件冲突的地方标注出来,开发者可以对冲突代码进行编辑,解决冲突后commit即可,但如果是二进制文件发生了冲突,git是无法标注冲突的,这时候只能从参与合并的两个分支中选择一个版本保留,舍弃掉另一个

git checkout FILE --ours [ --theirs ]
–ours 表示检出当前分支,即保存当前分支的改动,丢弃另外一个分支的改动.
–theirs 表示检出另外分支, 即保存另外一个分支的改动,丢弃当前分支的改动.

举个栗子:

有分支A和B, 当前我们在分支A上, 需要把分支B合并到分支A, HashMap.c文件发生冲突了.
git checkout HashMap.c –ours 表示冲突的地方采用A分支上的修改,丢弃B分支上的修改.
git checkout HashMap.c –theirs 表示冲突的地方采用B分支上的修改,丢弃A分支上的修改.

解决完冲突后,就可以像往常一样 git add git commit了.

##取消已经track的文件的版本控制
有些时候需要忽略对某些文件的版本控制,只需要在.gitignore文件中记录下该文件即可,但是对于已经被添加到版本控制中的文件,.gitignore文件不会对已经track的文件生效,此时需要移除掉该文件的版本控制,让后将该文件加入到.gitignore文件中commit提交

移除对某个文件的版本控制

git rm --cached filename

移除某个文件夹下的所有文件的版本控制

git rm -r --cached foldername

移除掉版本控制后一定要将相应文件加入到.gitignore文件中,不然文件又会被重新add

##git reset的三个参数
git reset --hard是我经常使用的一个命令,不过对于–hard参数的意义不是很明白,后来查了查资料,发现还有两个参数–soft,–mixed,所以这里就简单描述一下各个参数的意义

撤回到已经改动且add,但是没有commit的状态

git reset --soft

撤回到已经改动但是没有add,也没有commit的状态

git reset --mixed

完全撤回,消除掉当前所有的改动和add,完全撤回到时的状态

git reset --hard

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值