zoukankan      html  css  js  c++  java
  • Git 学习笔记

    本文遵守CC BY-SA3.0

    前言:

      虽然一直以来都使用git来团队开发,但是还没有系统的做一些记录,导致身边的小伙伴出现问题,仍然是直接来问我。。

      这里记录一篇git的常见用法和一些小问题,就当是方便大家哈,如果有什么新的问题,欢迎留言交流。

      还有补充:强烈推荐廖雪峰的官方网站,里面有git的详细讲解,这里只写一些工作中遇到的,还会陆续补充。

    一、常用命令

      显示提交日志  git log

      显示全部分支  git branch

      创建分支    git branch (分支名)

      切换分支    git checkout (分支名)

                -b 若不存在分支,则创建它

      删除分支    git branch -d (分支名)    

                -d 当分支已经合并到主干后删除

                -D 无论如何都删除分支

      合并分支    git merge (分支名)

      

      撤销所有本地修改                     git reset --hard
      撤销所有本地到上一次修改               git reset --hard HEAD^
      撤销上一次commit,将commit的文件撤回暂存区    git reset --soft HEAD^
      要是想撤销到上上次,就是HEAD^^  ,以此类推。
     
      git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区
     
      git commit -amend
      将此次更新文件并入到上次commit的记录中,不新添加commit
     
    二、git 进阶
     
      1.git log --stat  显示提交的详情(文件改动)
      2.git reflog     可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录
      3.git stash     暂存本地修改
      4.git statsh pop  还原暂存
     
      tips:使用git stash保存工作现场,然后就可以切换到其他分支进行工作,或者在本分支直接同步代码,一般用于当前本地还不需要提交,但是需要从服务器同步代码,此时如果还保留着为提交的代码,会导致被禁止同步,此时就可以使用git stash,将本地修改暂存,然后同步代码(可能是git pull或者repo sync),然后使用git stash pop,还原工作现场。
     
    三、常见问题
     
    1.解决gerit上面的冲突

      cd demo

      以分支为develop为例

      打开Gerrit有冲突的那个网址,如 http://192.168.6.162:8080/#/c/16/ 找到Download 如下命令,执行

        git fetch ssh://shuolbde@192.168.6.162:29404/demo refs/changes/16/16/1 && git checkout FETCH_HEAD

      git checkout -b new_branch_name

      git fetch origin

      git rebase origin/develop

      修改冲突文件

        git add .

        git rebase --continue

        git push origin new_branch_name:refs/for/develop

        git checkout develop

        git branch -D new_branch_name

      不会产生新的changes记录,将原changes记录重新review提交即可,这时在原冲突机器上直接pull会本地冲突,需要

        git reset --hard HEAD^

      否则会出现cannot do a partial commit during a merge.

      最后更新下代码

        git pull

      
  • 相关阅读:
    2018.8.20 Python之路---常用模块
    2018.8.16 正则表达式
    2018.8.15 python中的冒泡法排序
    2018.8.15 python 中的sorted()、filter()、map()函数
    2018.8.14 python中的内置函数(68个)
    2018.8.13 python中生成器和生成器表达式
    2018.8.10 python中的迭代器
    2018.8.9 python中的动态传参与命名空间
    python测试开发django(1)--开始Hello World!
    UPC-5120 Open-Pit Mining(最大权闭合子图)
  • 原文地址:https://www.cnblogs.com/ShuolBDe/p/4509261.html
Copyright © 2011-2022 走看看