zoukankan      html  css  js  c++  java
  • git工作中常用命令-工作中踩过的坑

    踩坑篇又来啦,这是我在工作中从git小白进化到现在工作中运用自如的过程中,踩过的坑,以及解决办法。

    1、基于远程develop分支,建一个本地task分支,并切换到该task分支

    git checkout -b task-110 origin/develop
    //此处是一句就完成,而很多刚入门的小伙伴经常直接使用
    git branch task-110
    git checkout task-110
    //但是此时只是在本地建了一个分支,并没有与远程库中的分支关联,还需执行
    git branch --set-upstream task-110 origin/task-110
    //此时才将本地的task-110与远程的task-110关联
    //接下来,小伙伴就可以在该分支上写代码,并push,然后merger request ,你的leader检查你的代码,并给你合并到develop分支上
    2、建完分支,小伙伴们写完任务,就是要提交该任务了
    提交的步骤,一般如下
    git status //检查你的代码,看一下被修改的文件是否都是你修改的
    //如果此时你想查看你修改了哪些地方
    git diff
    //如果你只是想查看某个文件的修改地方
    git diff path//path是你要查看的文件地址
    //检查完代码,就要提交啦
    git add .
    //如果你只想提交指定的文件
    git add path
    //然后就是commit
    git commit -m '你的提交说明'
    //接下来在你提交之前,你要拉一下最新的代码,防止当前你的代码版本不是最新的,因为在你修改代码的过程中,会有其他小伙伴提交新的代码哦
    git pull --rebase origin develop//使用--rebase是可以拉最新的代码并跟你本地代码融合,而不是直接pull 直接新的代码覆盖你的本地代码,这样防止你的修改过的代码被覆盖。
    //如果此时,你拉下来的代码出现冲突,
    git status //查看冲突文件,然后找到这些文件,一一解决冲突
    git add .//将这些解决过的冲突,add到本地仓库
    git rebase --continue //代表更新代码继续
    //然后就可以提交你的代码啦
    git push origin task-110

    3、当然啦,如果你在add 发现你的代码不对,后悔了,想撤销,还是有机会的

     gir reset head //执行这句话就可以了
    //如果你是在commit之后想撤销,那也是可以的
    git log //找到你提交的版本的上一个版本号,并复制下来
    git reset --soft 上一个版本号//这句话的意思是,返回到上一个版本,同时不撤销当前修改过中的代码。这样你就把你的commit撤销了,并且代码还存在

     4、第四点是,一般工作中,远程库会有一个开发分支,一个生产分支。

    如果有紧急bug需要修复,则要先在develop(开发分支)分支修复提交测试,然后再将该分支代码提交到release(生产分支)上。

    为了避免重复改代码并提交,有一个命令,可以直接将你的需要上线的版本代码,复制到另一个分支上:git cherry-pick 版本号

    //该情况,就是再线上分支(假设是release)建一个分支
    然后在该分支上cherry-pick你develop上提交的版本号即可,
    但是切记,再release上新建分支后,要先拉一下最新代码,再cherry-pick,避免代码不是最新版本而起冲突(
    如果有冲突,那就淡定解决,解决方案:
    1.先将代码中有冲突的部分修改好,
    2.执行:git add .
    3.执行 git cherry-pick --continue
    4.此时灰烬入到一个shell命令面板中,直接执行 :wq 就可退出
    5.冲突解决啦
    )

     5.查看git操作记录,并返回到操作前的版本

    git reflog //可以查看到最近一段时间的操作记录

    git reset --hard version //version是上图中红线圈出部分,可根据自身情况设置对应的版本号,
    //执行完这句命令,你的代码版本就返回了
  • 相关阅读:
    ASP.NET动态生成控件
    WGCLOUD如何禁用指令下发功能
    C#基于NAudio工具对Wav音频文件剪切(限PCM格式)
    C#多线程与多任务
    我的JQuery插件 Confirmer
    我的JQuery插件 submenu
    关于jQuery在asp.net中使用ajax的探讨
    发布jQuery表单验证插件 JQuery.validator.js
    TreeView递归绑定地区列表
    Uploadify(JQuery上传插件)在asp.net中使用例子
  • 原文地址:https://www.cnblogs.com/HappyYawen/p/8554462.html
Copyright © 2011-2022 走看看