git使用踩坑记

2020-05-06  本文已影响0人  爱回忆的小六

1、Authentication failed for 'http://git........'

    原因:帐号密码错误或过期了。因为使用的公司统一帐号管理,一段时间会换帐号密码,因此git pull会遇到上面问题

    解决:

        1)参考网上一篇文章输入如下命令:git config --system --unset credential.helper

        2)如果此时再输入git pull,会遇到新的错误:fatal: remote error: Git repository not found,需要再执行一条命令解决:git remote set-url origin git@github.com:xxxxxx/xxxxxx.git

        到此问题可以解决。

2、git commit -a遇到报错:insufficient permission for adding an object to repository database .git/objects

    原因:权限问题,所属目录下的某些目录当前操作账户没有写权限。

    解决:查看目录所属文件等所属用户:ls -la,再看每个用户对文件的可操作属性。当然这里笔者遇到的是有些文件是登录用户组的,有些曾经用root操作过因此属于root。那么解决方案就有两种:

        1)切换文件的用户和组到登录账户:sudo chown -R mouyonghu:mouyonghu *

        2)使用root用户执行所有命令:sudo su

3、没修改过或仅修改一行代码,git diff都提示动了全部代码

    第一种修改:网上参考修改:https://blog.csdn.net/u012109105/article/details/51252242

    本地尝试取消git对文件权限对检查:git config core.filemode false —— 对作者的情况不适用

    第二种修改:参考:https://www.cnblogs.com/lxwphp/p/10632353.html

    mac本地.gitconfig文件在用户根目录,是隐藏文件

    换行符切换:https://blog.csdn.net/ECHO_FOLLOW_HEART/article/details/48314523

4、Git撤销git commit 但是未git push的修改

    1. 找到上次git commit的 id

         git log

         找到你想撤销的commit_id

    2.  git reset --hard commit_id

          完成撤销,同时将代码恢复到前一commit_id 对应的版本。

    3. git reset commit_id 

         完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改。

    成功实践:写完代码后,我们一般这样

    git add . //添加所有文件

    git commit -m "本功能全部完成"

    执行完commit后,想撤回commit,怎么办?

    这样凉拌:

    git reset --soft HEAD^

    这样就成功的撤销了你的commit

    注意,仅仅是撤回commit操作,您写的代码仍然保留。

5、Git stash

上一篇下一篇

猜你喜欢

热点阅读