Git常见问题

该文章经常更新

A

Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

问题原因:当你本地执行commit之后,你当前本地分支比你远程分支(例如码云,github)多提交了1次。就是不同步了!!!
解决方法:
a:使用git push将本地提交到远程。
b:使用git reset –hard origin/master将本地重置为远程版本(注意是两个-)

B

git reset --hard HEAD^
More?
fatal: ambiguous argument 'HEAD
': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

问题原因:^在window是特殊字符。
解决方法:git reset –hard HEAD”^”或git reset –hard “HEAD^”或git reset –hard HEAD~1
如果你git log只有一个提交,会出现:

fatal: ambiguous argument 'HEAD~1': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

C

Cloning into 'atom_template'...
Warning: Permanently added the RSA host key for IP address '***.***.***.**' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

问题原因:没有添加SSH KEY,添加之后在clone就OK了。

D

当我pull时出现:

warning: no common commits
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (6/6), done.
From gitee.com:HotWheel/Task
 * [new branch]      master     -> origin/master
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> master

问题原因:没有指定本地master分支与远程origin/master分支的链接
解决方法:git branch –set-upstream master origin/master

F

当我git add . 提交了一个文件夹,但是在码云上发现,真的是只提交了一个文件夹,里面的内容没有。
问题原因:文件夹里面还有一个.git目录
解决方法:将文件夹里面的.git删掉,重新add就ok了

G

当我push时出现:

To git@gitee.com:HotWheel/Task.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@gitee.com:HotWheel/Task.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

注意第二行master -> master (fetch first)
原因是本地和远程有冲突了,应该先pull,在push

H(关于打Patch冲突)

这里写图片描述

问题原因:打patch时候冲突了
解决方法:
a:使用git apply –reject 0001-print-111.patch命令
这时候会在本地生成一个.rej文件,里面会显示哪里冲突了。
.rej:

@@ -9,5 +9,6 @@ public class MainActivity extends AppCompatActivity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
+        System.out.println("111");
     }
 }
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        System.out.println("11122");
    }
}

把冲突的地方改正过来

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        System.out.println("111");
    }
}

b:add冲突文件
c:git am –resolved

I (pull 出现问题)

error: Pulling is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

解决方法:使用git status,查看Unmerged paths:
(use "git add <file>..." to mark resolution)
这项列出的所有文件,将其add并且commit,然后在pull就可以了。

微信公众号:
这里写图片描述
QQ群:365473065

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Git是一个非常流行的版本控制系统,但有时候在使用中会出现错误。下面是一些常见的Git错误代码以及解决办法: 1. 错误代码:fatal: refusing to merge unrelated histories 解决办法:在执行git pull命令时添加--allow-unrelated-histories参数,即git pull origin master --allow-unrelated-histories 2. 错误代码:error: failed to push some refs to 'git@github.com:XXX/XXX.git' 解决办法:先执行git pull命令更新本地代码,再执行git push命令推送代码 3. 错误代码:fatal: not a git repository (or any of the parent directories): .git 解决办法:进入正确的git仓库目录 4. 错误代码:fatal: unable to access 'https://github.com/XXX/XXX.git/': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 解决办法:检查网络连接,或者将https改为ssh协议,即git@github.com:XXX/XXX.git 5. 错误代码:error: Your local changes to the following files would be overwritten by merge 解决办法:先执行git stash命令,将本地修改保存起来,再执行git pull命令更新代码,最后执行git stash pop命令恢复本地修改 6. 错误代码:fatal: the remote end hung up unexpectedly 解决办法:检查网络连接,或者将git缓存设置为最大值,即git config --global http.postBuffer 524288000 7. 错误代码:error: pathspec 'XXX' did not match any file(s) known to git 解决办法:检查输入的文件名是否正确,或者执行git add命令添加文件 这些是常见的Git错误代码和解决办法,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值