美文网首页
使用git 遇到问题

使用git 遇到问题

作者: 小蜗牛Snail丶 | 来源:发表于2017-08-16 18:11 被阅读0次

    git push 到远程仓库时候

    出现 commit-ID问题

    之后出现修改找不到的问题

    又出现文件修改颠倒问题。

    原理:

    当执行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 遇到问题

          本文链接:https://www.haomeiwen.com/subject/byfwrxtx.html