Git & Github 遇到的问题及解决方案总结

Q1. 本地分支和远程分支建立追踪关系的三种方式
https://blog.csdn.net/qq_42780289/article/details/97762596
Q2. pull或者merge 其他分支到当前分支时,报错:You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you can merge.
Root Cause:
    当前分支中存在修改但未提交的文件,merge时产生冲突
Solution 1:中止合并,保留当前的最新code
    git merge --abort
    //删除 vim 非正常关闭产生的文件
    rm .git/.MERGE_MSG.sw*
Solution 2:HEAD 回滚到merge前的版本,临时态和暂存区修改会被清理。
    // 查看当前branch有哪些版本号
    git log
	git reset --hard [当前分支最新version]
Q3. 执行git status命令时,提示“Changes not staged for commit”,什么意思?
Root Cause:
	存在修改但未提交到暂存区的文件
	文件状态一共有4种:
		临时态,即修改ing的文件;
		暂存区,存放修改后待提交的文件,需add;
		本地仓库,存放确认并修改后的文件,需commit;
		远程仓库,存放公共文件用于大家share,需push.
Q4. 执行git branch -d [branch name], 报错 “error: The branch ‘**’ is not fully merged.”
Root Cause:
	待删除的本地分支中存在未merge到远程仓库的文件时。
Solution 1:merge本地更改后再重新提交命令
Solution 2:强制删除,此时未merge的文件会丢失
	命令行 git branch -D [branch name]
Q5. 如何退出Git diff command
Root Cause:
	使用Git diff 命令,会显示文件不同的具体内容,有时候信息量太大,看到一半想退出咋办?
Solution:按一下你手下键盘上的小q就欧啦。
Q6. Permission denied (publickey). Fatal: Could not read from remote repository.
Root Cause:当前主机尚未得到GitHub的认可。
Solution:使用 ssh(SSH=Secure Shell) 机制使得本地主机可以和远程服务器进行连接。
Step 1 : 生成SSH密钥
	Open Git Bash.exe , 输入指令 ssh-keygen -t rsa -C "[ssh name]",回车.
	完成后,在c:\Users\<your_name>\.ssh 目录下会生成以下文件
		id_rsa:私钥,用于识别当前电脑;
		id_rsa.pub:公钥,将其设置到GitHub上,与私钥相对应,意为GitHub接受此私钥即当前电脑。
Step 2 : GitHub添加SSH公钥
	click头像,进入settings -> SSH and GPG Keys -> New SSH key;
 	copy id_rsa.pub 文件中的内容,paste到Key;

config SSH

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值