前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git的一些问题

git的一些问题

作者头像
用户10325771
发布2023-03-17 15:12:45
4540
发布2023-03-17 15:12:45
举报
文章被收录于专栏:java springboot docker

换行符问题

warning: LF will be replaced by CRLF in .gitignore. The file will have its original line endings in your working directory

Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF: $ git config –global core.autocrlf true

Linux或Mac系统使用LF作为行结束符,因此你不想 Git 在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把core.autocrlf设置成input来告诉 Git 在提交时把CRLF转换成LF,签出时不转换: $ git config –global core.autocrlf input

这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。

如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中: $ git config –global core.autocrlf false

clone和pull的区别

  • clone——无中生有。原来本地是没有这个项目的,因此将完整的整个项目从仓库clone到本地
  • pull——锦上添花。项目1.0已经在本地上存在,但其他人将项目修改成项目2.0并上传到远程仓库。因此你要做的是将远程仓库中别人做的修改部分pull到本地,让你本地的项目1.0成为项目2.0

git pull origin master

问题

是因为两个根本不相干的 git 库, 一个是本地库, 一个是远端库, 然后本地要去推送到远端, 远端觉得这个本地库跟自己不相干, 所以告知无法合并

解决--allow-unrelated-histories

配置别名git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

在版本库中删除某个文件的所有历史记录

不小心把账户密码上传到GitHub上

代码语言:javascript
复制
# 解决
1 git filter-branch -f --tree-filter 'rm -rf vendor/gems' HEAD
2 git push origin --force
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-13),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 换行符问题
  • clone和pull的区别
    • git pull origin master
      • 不小心把账户密码上传到GitHub上
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档