- 1、GIT 默认对文件名大小写不敏感
- 2、偶尔在操作 Git 的时候,会提示git被锁了,提交不了
- 4、git pull 拉取远程代码的时候,遇到 would clobber existing tag
- 5、git push或者 git pull 操作的时候提示 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
- 6、git 配置 ssh
- 7、本地删除远程已经不存在的分支
- 8、本地同步远程tag
- 9、本地切换到远程 master 分支的时候报错
- 10、git 本地删除本地分提示 remote ref does not exist
- 11、拉取远程代码的时候提示 Git Pull Failed
- 12、
git clone代码提示OpenSSL SSL_read: Connection was reset, errno 10054
1、GIT 默认对文件名大小写不敏感
/# 解决 #/git config core.ignorecase false
2、偶尔在操作 Git 的时候,会提示git被锁了,提交不了
问题:
Git 使用中显示“Another git process seems to be running in this repository…”
原因:
windows对于进程的同步互斥管理,是有资源上锁机制的。猜测这里肯定是有进程对某资源进行了加锁,但是由于进程突然崩溃,未来得及解锁,导致其他进程访问不了
解决:
打开项目目录下的 .git 文件夹,然后删掉 index.lock 就可以
4、git pull 拉取远程代码的时候,遇到 would clobber existing tag
原因:本地的 tag 跟线上远程分支的tag 不一致
解决:强制使用远程的 tag 覆盖本地的 tag
git fetch --tags -f
5、git push或者 git pull 操作的时候提示 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
原因:
远程 git 服务器更新了 ip,所以导致之前配置的 ssh 内存储的IP跟远程 git服务的ip 匹配不上
解决:
ssh-keygen -R git服务地址 # 这里的服务地址为服务的 host
6、git 配置 ssh
git config --global user.name "这里换上你的用户名"git config --global user.email "这里换上你的邮箱"ssh-keygen -t rsa -C "这里换上你的邮箱" # 邮箱必须是注册git的邮箱 ## 查看 配置好的 ssh-keygencat ~/.ssh/id_rsa.pub
7、本地删除远程已经不存在的分支
git fetch --prune #这样就可以实现在本地删除远程已经不存在的分支
8、本地同步远程tag
git tag -l | xargs git tag -d #删除所有本地分支git fetch origin --prune #从远程拉取所有信息
9、本地切换到远程 master 分支的时候报错
报错信息
git checkout -q --track origin/masterwarning: refname 'origin/master' is ambiguous.fatal: A branch named 'master' already exists.
问题分析:
git branch -a的输出显示您有一个名为origin/master的远程跟踪分支.完全正常。但是,
git show-ref master的输出包含84e588376b89f794fa947e26848e9a804bffcc43 refs/heads/masterc4dbcc0dd4c362a67a5d6b9db300507eda83192c refs/heads/origin/master35ab50e43e0eadf117344893dbf8da5d649f8947 refs/remotes/origin/master
这表明您很可能运行了以下低级命令:
此命令创建一个名为
master的本地分支 (指向与 origin/master 相同的提交) ,但直属refs/,即在refs/heads/之外命名空间,本地分支通常所在的位置。git branch -a不会列出这样的分支,但是Git 感到困惑,因为它看到两个分支,其引用名称以origin/master结尾 :refs/remotes/origin/master,您的远程跟踪分支refs/origin/master,您(偶然)在refs/heads/之外创建的本地分支.
解决问题:
如果您不是有意创建 refs/origin/master 只需删除它
git update-ref -d refs/origin/master
然后,不会有任何歧义,当您尝试设置 master 的上游时,Git 会遵守所设置的流程设置
删除完之后 再执行更新远程信息就可以愉快的玩耍了
git pull
10、git 本地删除本地分提示 remote ref does not exist
问题出现的场景:
本地新建一个本地分支,但在与远程分支关联的时候,关联出错,导致该分支提示 xxx is not fully merged
但是使用 git branch --delete xxx 删除又无法删除本地分支,此时远程是没有这个分支的
解决办法:
运行强制删除分支命令
git branch -D xxx # xxx 为分支名称
备注:
git 在删除分支的时候可以使用 git branch -d xxx 也可以是 git branch -D xxx
但是其中是有区别的:git branch -d 的时候如果本地分支没有被合并就会提示这个问题git branch -D 是强制删除,所以直接执行 强制删除就好了。
11、拉取远程代码的时候提示 Git Pull Failed
具体报错信息为:
# 1.Git Pull Failederror: You have not concluded your merge (MERGE_HEAD exists).fatal: Exiting because of unfinished merg# 或者# 2.Git Merge Failedfatal: You have not concluded your merge (MERGE_HEAD exists)# 或者# 3.Git Pull FailedYour local changes would be overwritten by merge.Commit, stash or revert them to proceed. View them
问题出现的场景一般为:
- 本地分支 拉取 远程分支,出现了冲突,在解决冲突之后(这个时候远程的更改已经合并到当前的本地分支了)这个时候再 放弃所有更改,再去拉取远程分支就会出现上面这几种情况
解决办法:
- 先 commit
git commit -m "commit info"再进行 pull 拉取远程代码 - 放弃本地修改,直接覆盖之
git reset --hardgit pull
12、git clone 代码提示 OpenSSL SSL_read: Connection was reset, errno 10054
原因:
出现这种情况一般是由于 本地使用了 vpn 但是由必须使用 vpn 才能访问 github
解决办法:
修改设置,解除ssl验证 git config --global http.sslVerify "false" 此时,再执行git操作即可
