使用了一年多的git命令了,昨晚竟然又出现了问题。虽然解决了,不过还是被罚了。。。 总结下自己常用的git命令和遇到的一些坑。

1)常用的命令

1. 从git远程分支clone代码: git clone  gitlab地址代码

2.查看当前分支

git branch

3. 切换分支

git  checkout 分支名

4. 合并代码

git merge 分支名称

5.提交代码

git add -A

git commit -m "注释"

git push origin 分支名

2)特定场景遇到的一些问题

1.回滚到某个分支

1) git log     查看提交的记录

.找到具体需要回滚到那次的

2)git reset --hard  回滚日志id

回滚后强制提交  (如果是受保护的分支是无法回滚的)

3)git push origin 分支名 --force

2.如果冲突过多,只提交自己的分支代码

git log 查看自己的分支提交记录

git cherry-pick 日志id

git add -A

git commit -m "提交内容"

git push origin 分支名  即可

3.查看自己分支是以哪个分支为基准的

git reflog --date=local --all | grep 分支名称

         git reflog show 分支名称
     
        4.如果远程创建好了分支,本地没有。 我曾经用过
        git checkout -b  远程分支名
        这里面有个坑,如果你当前所在的分支 和远程创建的分支 不是同一个分支名,当你 checkout -b 时候会把你本地的分支合并到远程分支上面的。 比如 你在远程创建了一个以master为基准的分支,而在你本地 ,你当前是在dev 分支上面。这个时候 你使用 git checkout -b 分支名,就会出现 你本地的分支是以dev为基准的。你在去pull 远程分支的时候,就会把你本地以dev为基准的分支合并到远程 以master为基准的分支上面。当你合并到其他分支的时候,就会出现特别多的冲突。。。。  
    正确用法是 :远程创建了分支后,先去git pull 下,再去git checkout 分支 
 
 

最新文章

  1. 灵活可扩展的工作流管理平台Airflow
  2. mysql添加一个用户
  3. [Unity] Shader(着色器)之固定管线
  4. Windows Server 2016正式版14393英文版ISO镜像下载:_X64FRE_ZH-CN.ISO
  5. vim中大小写转换
  6. Jquery使select、radio某项选中
  7. Centos 6.4 /usr/src/kernels 目录为空解决方法
  8. LINUX 内核代码 errno 错误代码提示 /include/asm/errno.h
  9. 开发SCM系统笔记001
  10. Pascal's Triangle,Pascal's Triangle II
  11. 关于Class.forName(“com.mysql.jdbc.Driver”)--转
  12. UVa 10720 - Graph Construction
  13. 学习面向对象编程OOP 第二天
  14. Python---socketserver
  15. $(function(){})和window.onload的区别
  16. shell高级特性-4
  17. css属性总结
  18. 剑指offer(42)和为S的字符串
  19. MySQL表的定期分析检查优化
  20. STL之Deque容器

热门文章

  1. CSS中px,em,rem,pt的区别及四者换算?
  2. c++练手项目:英语单词拼写测试程序
  3. Python应用-完成简单邮件发送功能
  4. HDU - 3644:A Chocolate Manufacturer's Problem(模拟退火, 求多边形内最大圆半径)
  5. YII2 使用curl请求,返回false
  6. Git学习笔记--实践(三)
  7. Centos7安装Hadoop2.7
  8. fitnesse wiki界面设置变量
  9. Bias, Variance and the Trade-off
  10. redash oracle 数据源docker 镜像