文章目录
问题1 大文件上传github失败 因为vs东西太多
答:添加了.ignore 每层套一个
问题2 commit了一下废物记录
答:软回滚 保证changes不变 只变记录 并且会清除回滚到的版本之后的commit记录
git reset --soft [commitId]
问题3 .ignore改变之后 之前add有问题(包含了不需要的文件)
答: 先撤销add file为空默认就是撤销全部add
git reset HEAD <file>
撤销文件的修改。使用暂存区的替换掉工作区的文件。 “.” 代表撤销所有
git checkout -- <file>
问题4 github上已经有了回滚之前的版本而且我发现不能删废物commit记录?
答:强制提交
git push origin HEAD --force
问题5 git pull 代码后,什么都没改,但 git status 仍然显示所有文件都已修改
原因可能有以下几个:
- 换行符(Line Ending)问题
git config --global core.autocrlf false
git reset --hard HEAD
如果问题仍然存在,可以尝试:
git rm --cached -r .
git reset --hard
- 文件权限(File Permission)变化
Git 可能认为文件权限(如可执行权限 chmod +x)发生了变化。 解决方法:
git config core.fileMode false
git reset --hard HEAD
3.Git 忽略了文件的修改 运行以下命令看看 Git 是否跟踪了不应跟踪的文件:
git ls-files -m
如果文件应该被忽略但仍被跟踪,可能需要检查 .gitignore 文件。
4.Git 换行符策略不同 你可以尝试:
git diff --ignore-space-at-eol
或者手动检查文件编码:
git diff --word-diff
- Git 重新拉取代码
问题6 Git 使用ssh key拉代码?
生成ssh-key
ssh-keygen -t rsa -C "xxx@xxx.com"
获取ssh key公钥内容
cat ~/.ssh/id_rsa.pub
GitHub/gitlib 中setting,然后点击 SSH and GPG keys ->New SSH key->将复制好的链接粘贴进去