Git 上传代码碰到以下问题解决方法

持续更新中。。。

git介绍

在这里插入图片描述
部分名词翻译

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

配置常用命令

  • 显示当前的Git配置
git config --list
  • 编辑Git配置文件
git config -e [--global]
  • 设置提交代码时的用户信息
git config [--global] user.name "[name]"
git config [--global] user.email "[email address]"

常用基础命令

  • 上传代码
git add [dir]         			// 添加指定目录到暂存区,包括子目录
git add .			  			// 添加当前目录的所有文件到暂存区

git push origin master  		// 上传本地指定分支到远程仓库
git push [remote] --force 		// 强行推送当前分支到远程仓库,即使有冲突
  • 下载代码
git clone [url]   				// 下载一个项目和它的整个代码历史
git fetch --all 				// 下载远程仓库的所有变动
git pull 						// 取回远程仓库的变化,并与本地分支合并
  • 代码保存
git stash save {****}   				// 代码储藏
git stash list							// 查看储藏列表
git stash apply stash@{index}  			// 取出指定index的储藏到工作区中
git stash drop stash@{index}			// 将指定index的储藏从储藏记录列表中删除
git stash pop stash@{index}				// 取出指定index的储藏到工作区中,并同时将该储藏从储藏记录列表中删除
git stash pop							// 取出最近一次储藏到工作区中,并同时将该储藏从储藏记录列表中删除
  • 提交
git commit -m [message]  		 // 提交暂存区到仓库区
git commit --amend         		 // 重做上一次commit,并包括指定文件的新变化
  • 撤销
git checkout [file] 			// 恢复暂存区的指定文件到工作区 
git checkout [commit] [file] 	// 恢复某个commit的指定文件到暂存区和工作区 
git checkout .  				// 恢复暂存区的所有文件到工作区
git reset --soft HEAD^1         // 撤销上一次上传,并恢复到本地
git reset --hard 				// 重置暂存区与工作区,与上一次commit保持一致
git reset [commit] 				// 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
git reset --hard [commit] 		// 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
  • 查看信息
git status  					// 显示有变更的文件
git log 						// 显示当前分支的版本历史
git log --stat 					// 显示commit历史,以及每次commit发生变更的文件
git diff 						// 显示暂存区和工作区的差异
git remote -v 					// 显示所有远程仓库

完整上传步骤:

git push add ***    		// 添加内容到暂存区
git commit -m ***	 		// 提交上传备注信息
git push origin master  	// 上传到远程服务器
  • 查看某一个文件的具体修改记录
gitk -- ***  // 文件名

碰掉以下情况解决方法

  • 当本地第一次下载远程仓库代码,上传时出现
    在这里插入图片描述
    1、提示第二个红框中错误时,到此次上传代码的.git所在目录,进入到.git然后进入 hooks/
    执行 scp -p -P 29418 ad@192.168.1.99:hooks/commit-msg (第三个红色框中部分内容)
    2、完成后,执行git commit --amend
    3、再次执行下图中代码,如果又报错和下图中错误一样的话,上传使用 git push origin HEAD:refs/for/master基本就没有问题了
    在这里插入图片描述

目前发现的解决冲突的万能步骤:

  1. git stash save “*****” 执行储存
  2. git stash list 查看储存
  3. git fetch --all 强制同步服务器代码
  4. git reset --hard origin/master 重置节点
  5. QT打开工程的话,需要保存一下代码
  6. git stash list 再次查看第一次储存的位置
  7. git stash pop stash@{0} 提取储存信息进行合并,0 代表 步骤1 的储存信息编号,按实际编号修改
  8. 再次保存,运行,查看是否有需要解决的冲突
  9. 再次add、commit、push

合并代码也可以用1-8这个步骤

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值