使用git 遇到问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用git 遇到问题相关的知识,希望对你有一定的参考价值。
参考技术A git push 到远程仓库时候之后出现修改找不到的问题
又出现文件修改颠倒问题。
原理:
当执行git add “file”添加到暂存器,然后执行git
commit提交到本地库的时候,git需要在commit的时候在日志中写入一个唯一标识提交的SHA-1值,即是Change-Id值. git
commit时会调用commit_msg脚本检查提交信息,以便在git
push的时候能正常推送到远程库。此时调用默认目录下的commit_msg钩子脚本,默认目录为“.git/hooks/commit_msg”.
如果此目录下无commit_msg脚本则commit时提交日志中无ChangeId信息,则在git
push的时候出错,无法正常吧改动上传到远程服务器
如果 git log --graph 看不到commit的话
可以 git reflog 查看过去的提交。找到那个commit ID
再用 git reset --hard ID 回到那个版本。
之后如果push 提示一个 no change-ID问题
解决方法1:
方法一:
1>复制Change-Id:Ifbea87a6358d55a189528a5f501492c37bdfec21
2>执行gitdir=$(gitrev-parse--git-dir);scp-p-P29418HostName@192.168.77.11:hooks/commit-msg$gitdir/hooks/ 从服务器拷贝commit-msg脚本到.git/hooks/目录下
3>执行gitcommit--amend重新修复提交,把第一步中的Change-Id:Ifbea87a6358d55a189528a5f501492c37bdfec21黏贴到提交日志的下一行。
4>重新执行gitpush推送本地改动到远程服务器
方法二:
如果上面你的git commit --amend 进入vim出现一个e325
目前我还没解决,这样只能找到以前的一个版本了。比较早回退到那里 。
git reset --soft id
git stash
git pull
git stash pop
git gui
进入gui 再把修改的文件重新commit一下
最后git push。
使用git遇到的问题
error: The following untracked working tree files would be overwritten by checkout
在IDEA中进行分支切换时,出现如此错误,导致无法正常切换:error: The following untracked working tree files would be overwritten by checkout
通过错误提示可知,是由于一些untracked working tree files引起的问题。
解决方式:
进入本地版本仓库目录下,直接执行
git clean -d -fx
git clean -d -fx表示:删除 一些 没有 git add 的 文件;
git clean 参数:
-n 显示将要删除的文件和目录;
-x -----删除忽略文件已经对git来说不识别的文件
-d -----删除未被添加到git的路径中的文件
-f -----强制运行
Error downloading object: xxx: x509: certificate signed by unknown authority
x509,是SSL传输的证书标准,应该是ssl认证失败,执行如下命令禁用SSL认证:
git config http.sslVerify false
再尝试之前失败的命令
OK!问题解决。
以上是关于使用git 遇到问题的主要内容,如果未能解决你的问题,请参考以下文章