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

      
  • 相关阅读:
    WebRTC学习笔记_Demo收集
    无法获取手机号码
    Hadoop-2.2.0中文文档——Common-Hadoop HTTP web控制台认证
    windows下安装,配置gcc编译器
    Effective C++笔记03:资源管理
    关于打印机状态的获取
    《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis
    winform Combobox出现System.Data.DataRowView的解决的方法
    CSDN积分规则具体解释--【叶子】
    HTML5中的Web Storage(sessionStorage||localStorage)理解与简单实例
  • 原文地址:https://www.cnblogs.com/ShuolBDe/p/4509261.html
Copyright © 2011-2022 走看看