报错

情况一:git pull报错

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull() 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> release

其实,输出的提示信息说的还是比较明白的。

使用git在本地新建一个分支后,需要做远程分支关联。如果没有关联,git会在下面的操作中提示你显示的添加关联。

关联目的是在执行git pull, git push操作时就不需要指定对应的远程分支,你只要没有显示指定,git pull的时候,就会提示你。

解决方法:

就是按照提示添加一下呗:

git branch --set-upstream-to=origin/remote_branch  your_branch

其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。

或者使用

git push origin xxx

情况二:git push报错

To github.com:michaelliao/learngit.git
! [rejected] dev -> dev (non-fast-forward)
error: failed to push some refs to 'git@github.com:michaelliao/learngit.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这是因为远程分支比你的本地更新,有人先于我们提交代码到远程

解决方法:

拉取最新代码,然后在push

git pull

情况三:git add报错

案例一:

Changes not staged for commit

可是我们明明有修改啊!

解决方法:

目录层级不对,找到正确的再次执行命令

案例二:

The following paths are ignored by one of your .gitignore files:
App.class
Use -f if you really want to add them.

因为这个文件被我们忽略了

解决方法:

强制提交

git add -f xxx 

疑问

情况一:别人在远程库中已经新建好了一个分支,我们想要在本地创建该分支

git checkout dev/master

git pull

git branch -r

git checkout origin/xxx -b xxx

git push origin xxx

情况二:开发新的项目时,我们肯定要新建分支,如果我们/别人已经在远程库中新建了一个分支,如果我们也要在该分支上开发,那么可以在本地直接从该远程库中创建分

支(实际上同上)

git checkout origin/item-1.9-1125(远程分支名) -b item-1.9-1125(本地分支名,无所谓叫什么) : 切远程分支到本地,这样远程分支和本地分支就关联起来了,push的话只会push到该远程分支

情况三:当我们改完代码,而且是第一次push,发现push不上去时

git push origin 分支名 -> push到远程

情况四:如果我们两个人同时完成一个项目,并且在各自的分支开发,上预发环境或者上线的时候我们需要将两人的代码merge到一个分支,此时我们需要新建一个分支,

将两人的代码merge到该分支,用这个分支上预发和上线

假定现在两人都开发完,准备合代码的分支叫item-merge

a: 从当前的分支新建分支item-merge

git checkout -b item-merge (已经新建了item-merge分支,该分支包含a的代码)

b: 已经将自己的代码push到item-merge

a: git fetch (拉下新分支)

git pull origin item-merge (该分支为想要拉取代码的分支,这样我们就将别人的代码拉到了我们的这个分支)

⚠️在情况四的基础上,如果第一个人先push到后端并部署了,第二个人在push时会提醒先pull,pull之后发现会有冲突,那么我们在后端库中找到对应的文件解决冲突

“Accept CurrentChange”接受当前更改,之后在push

情况六:如果我们在本地修改了两个文件a、b,没有add也没有commit,此时我们想要丢弃对a文件的修改,但保留对b文件的修改

git checkout a(想要丢弃的文件名)

情况七:现有a、b两个文件,且内容相同,我们修改了a文件,如果想要b文件中也有a文件中的修改

git checkout b

git merge a

这样我们就将a文件的内容合并到了b文件

情况八:发现pull不下来

可能不是在当前分支修改的,要checkout到修改的分支,然后pull,然后checkout回自己的分支,merge一下,之后add、commit、push

情况九:错误merge怎么办

Git错误merge怎么办?

Git怎样撤销一次分支的合并Merge

git merge了错误分支,如何优雅的回退到merge前的状态?

版本回退

情况九:我只想让一个文件回退到之前的版本

git checkout commitid xxx(文件名)

最新文章

  1. ajax
  2. 解决NSData转NSString返回nil的问题
  3. SpringMVC接收页面表单参数
  4. DataTable详解,以及dataview
  5. .NET Nancy 详解(一) 初识
  6. 开启InnoDB每表一个独立的表空间
  7. mysql笔记(前面自己写的不标准有些地方)
  8. iOS断言
  9. 实现Runnable接口和扩展Thread使用场景
  10. laravel 安装 Laravel 扩展包
  11. [补档][Tyvj 1518]CPU监控
  12. word文档转pdf,支持.doc和.docx,另附抽取pdf指定页数的方法
  13. docker 系列 - 容器数据持久化和数据共享
  14. iOS CrashLog Analysis
  15. phpcms中调用外部网站数据
  16. Ant+jmeter+jenkins搭建测试的持续集成
  17. 写的一个split函数
  18. Linux负载均衡--LVS(IPVS)
  19. 轻量级HTTP服务器Nginx(常用配置实例)
  20. CSS控制图片显示区域

热门文章

  1. idea 远程代码调试
  2. echarts ajax请求demo
  3. Mac 10.15 关闭SIP
  4. better-scroll 的介绍
  5. Java-GC 垃圾收集算法
  6. python 装饰器 (test = submit(test))
  7. DP----鬼畜的数字三角形
  8. ubuntu下如何卸载nvidia显卡驱动?
  9. 大数相乘 java
  10. Linux Shell 中 &gt; 和 &gt;&gt; 的异同点和应用场景