Git使用小结

1.文件权限的变更导致Git的变动

在之前把开发环境由Windows转入Ubuntu之后,发现一个特别奇怪的问题,
就是AndroidStudio的文件经常改着改着突然所有的文件都出现了改动
仔细对比你会发现没有什么代码改动,这次无意中发现,是因为git对文件权限的改动也做了记录

//配置git忽视权限的变动<毕竟文件权限不是我们关心的改变>
$ git config core.filemode false

2.文件名大小写改动git不识别

git 默认不区分文件名大小写

//配置git 使其对文件名大小写敏感
$ git config core.ignorecase false

也可以先删除,然后在添加 git rm xx , git add xx , git commit -m “xx”

3.强大的cherry-pick 将提交到A分支的commit提交到B分支

场景复现 将原本该在dev分支的bug fixed提交到了master分支

  1. 找到master刚提交的commit id
  2. 切换到 dev 
  3. git cherry-pick “commit id xxx”

4.本地代码reset之后,push failed

  1. 打开git bash 来操作
  2. 切换到git托管的目录
  3. git push -f (force) //加上-f参数 强制刷新remote/origin/xxxxx

5.后续添加.gitignore不生效

在用 Git 进行代码管理的过程中,我们会发现后添加进去的 .gitignore 文件,
或者是中途修改了 .gitignore 文件后,.gitignore 文件没有生效,我们需要通过清除 track 缓存和 强制 track 来解决问题

Git 代码管理中,我们在没有添加 .gitignore 文件的前提下提交了代码之后再提交 .gitignore 文件,或者是中途添加某一文件类型到 .gitignore 文件中,需要通过以下命令行的方式,让 .gitignore 文件生效:
查看源代码打印帮助
1. Git 代码管理中,我们在没有添加 .gitignore 文件的前提下提交了代码之后再提交 .gitignore 文件,或者是中途添加某一文件类型到 .gitignore 文件中,需要通过以下命令行的方式,让 .gitignore 文件生效:

//清除缓存
git rm -r --cached .
//添加
git add .
//提交
git commit -m "xxxxx"
  1. 如果是中途从 .gitignore 文件中移除某一文件类型,想要这个文件类型重新被 track,需要通过以下命令行的方式,让 .gitignore 文件生效:
//添加的时候加上-f参数
git add -f *.class
//提交
git commit -m "xxx"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值