git 问题汇总(踩坑记)

1、如何清空远程仓库里的文件?

请执行以下代码:

$ git add .                
$ git commit -m 'del'      
$ git push origin master   

2、如何将本地项目整个添加到远程指定仓库?

本地项目:testDemo

远程仓库:web

第一步:删除 testDemo 项目中隐藏显示的文件夹(.git)。

第二步:正常提交项目就行:

$ git add .
$ git commit -m 'add a new demo'
$ git push origin master

3、git pull 踩坑记

问题描述:

假设A、B两个员工开发同一个项目,拉取远程仓库的 dev 分支到他们各自的**本地分支**后,他们各自开发各自的模块(不冲突)。A成功提交了代码,B随后也想提交代码,于是提交之前pull了一下远程的代码(执行的命令:git pull origin dev),问题产生了:拉取的代码没有直接合并进项目,而是存在与“暂存的更改”️,并且不存在冲突。

解决办法:

直接提上去。

如何预防:

  • git fetch orgin <远程分支>:将远程仓库的master分支下载到本地当前branch中;
  • git log -p <本地分支> origin/<远程分支>:比较本地的master分支和origin/master分支的差别;
  • git merge origin/<远程分支>:进行合并。

4、远程仓库自己的代码被误删怎么办?——回滚

回滚至上一个版本:

  • 查看历史记录:git log --pretty=oneline
  • ctrl + z 退出。

回滚:

  • 回滚到上一版本:git reset --hard HEAD^
  • 回滚到制定版本:git reset --hard 1078f

5、提交代码时,远程分支有更新,怎么办?

准备提交代码:

查看本地分支与远程分支的差异:

git diff dev origin/dev

保存一下自己的更改:

git add .

git commit -m "XXX"

拉取合并新的代码:

git pull origin dev

发现远程 dev 分支有更新,commit 一下,

git commit -m "pull合并"

检查是否有冲突,有的话,解决冲突,然后 commit 一下:

git commit -m "解决冲突"

push 到远程分支:

git push origin dev

6、报错:fatal: Not a valid object name: ‘master’.

原因是没有提交一个对象,要先commit之后才会真正建立master分支,此时才可以建立其它分支。

你可能感兴趣的:(#,git)