zoukankan      html  css  js  c++  java
  • git 常规操作--这一篇就够了

    秒文镇楼

    https://www.cnblogs.com/lfxiao/p/9378763.html

    https://baijiahao.baidu.com/s?id=1627328817332384564&wfr=spider&for=pc (squash)

    git 图形化界面来一个(vscode有插件)

     目标

    1、保证git tree提交顺序 (及时rebase master commit)

    2、每次需求master只有一个commit(git squash合为一个)

     结论

    add commit pull (merge)方式,commit时间是正确的,add commit rebase方式,commit时间顺序是乱的,commit时间该是几点就是几点。

    rebase master中commit 到本地,squash时候只是squash我commit的,master的不受影响。

    正向

    git add . git commit -m 'fix'

    逆向

    git reset HEAD^   回退一步

    HEAD~n  回退n步

    reset参数

    --mixed 默认  保留源码反向commit   add

    --soft  保留源码只反向commit   add操作未反向

    --hard 不保留源码

    git pull origin master 引起的merge操作(commit+merge branch),算一步。

     

    (commit代码,拉了下master代码,引入了其他commit)(一步reset操作即可去除红框内三个)

     

     

    rebase

    commit完,git rebase master,保证树形结构流畅。

    master在1点拉代码到分支,一顿改和在1点半 commit,2点小明提交到master一些commit ,3点准备整理代码提交到master,rebase下,我这次提交的所有commit都会跑到小明的之后。1点半的commit会在小明提交的commit之后。

     

     

    rebase操作后,master上所有已提交commit皆会拉到本地分支,保证git tree提交顺序(说了这么多,这才是最终目标)

    git reset --hard ...误操作找回代码

    git reflog,然后找到对应状态,git reset --hard ...

     

    改了gitignore不生效

    git rm -r --cached .

    git add .

    git commit -m 'update .gitignore'

  • 相关阅读:
    Dockerfile指令
    oracle--ORA-38760
    守护进程--Supervisor
    oracle--sqlplus格式化输出
    oracle--10.2.0.3升级到11.2.0.4
    oracle--ORA-27125
    oracle--10安装问题
    oracle--CKPT
    oracle--LGWR
    Oracle--SMON
  • 原文地址:https://www.cnblogs.com/fengluzheweb/p/13087087.html
Copyright © 2011-2022 走看看