14. Git 使用总结
记录
ubuntu 在后台启动 ssh 代理并添加私钥
$ eval “$(ssh-agent -s)”
ssh-add ~/.ssh/id_ed25519
但是遇到了错误消息 “It is required that your private key files are NOT accessible by others. This private key will be ignored.”
需要 chmod 600 <private_key_file>
查看某个分支是从哪个分支拉出来的
git reflog --date=local | grep 分支名
fatal: remote origin already exists
1 | git remote add origin************** |
解决方法
1、先输入 git remote rm origin
2、再输入 git remote add origin xxxxxxx
或者直接更新 url
1 | git remote set-url origin https://github.com/yourname/learngit.git (这个是你的复制的仓库地址) |
克隆的时候制定端口
ssh 协议默认会使用 22 端口
git@39.105.48.128:acc8226/hello.git
此种形式可以更改端口,举例这里改为了 222 端口
ssh://git@39.105.48.128:222/acc8226/hello.git
问题
The following paths are ignored by one of your .gitignore
Android studio 中使用 git add 方式添加新的文件时出现错误:The following paths are ignored by one of your .gitignore
这时使用命令 “git check-ignore -v gradlew” 测试是哪个 gitignore 文件导致。
在项目中找到 .gitignore 文件(可能隐藏了,打开文件管理器设置一下),打开文件,把添加的文件或路径删除即可。原因是文件或路径被忽略了
could not lock config file
%HOMEDRIVE%%HOMEPATH%/.gitconfig
的问题
在我的电脑上 HOME 的值是 %HOMEDRIVE%%HOMEPATH%
竟然不识别。已知 %homedrive%
指操作系统所在盘默认为 C:
,%HOMEPATH%
指的是用户所在目录,举例说明 \Users\zhangsan
。
所以手动改成 C:\Users\hp
即可。
1 | C:\Users\hp>echo %HOMEDRIVE%%HOMEPATH% |
设置 HOME 环境变量为自己的用户目录
git pull 失败
提示 refusing to merge unrelated histories
解决方案:添加 --allow-unrelated-histories
1 | git merge origin/master --allow-unrelated-histories |
git clone 时,提示 warning: remote HEAD refers to nonexistent ref, unable to checkout.
原因是 .git 目录下 .git/refs/heads 不存在 HEAD 指向的文件。
键入
1 | git branch -a |
将展示所有分支,如果你看到了 remotes/origin/oneplus/QC8998_N_7.1 分支可用的话,然后 git checkout remotes/origin/oneplus/QC8998_N_7.1 -b NameYouWant
即可解决。