• git那些事 2 Tank


    git fetch参数解释

    git pull origin = git fetch + git merge origin/<branch>
    git fetch 将远程仓库的版本记录,同步到本地的远程仓库
    image

    终止合并

    应用于git pull origin 操作完后,提示有冲突请求合并,但是想回滚到拉取前。

    git -c core.quotepath=false -c log.showSignature=false merge --abort
    

    git alias设置

    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
    

    image

    标签管理

    git 标签存在的意义就是,为了能更人性化、更容易的找到版本代码( commit 号查找版本代码太折磨人)。
    举例:

    “请把上周一的那个版本打包发布,commit号是6a5819e...”
    “一串乱七八糟的数字不好找!”
    如果换一个办法:
    “请把上周一的那个版本打包发布,版本号是v1.2”
    “好的,按照tag v1.2查找commit就行!”
    所以,tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。

    注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。

    使用方式
    查看和创建标签

    • 命令git tag <tag_name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
    • 命令git tag -a <tag_name> -m "描述信息..." <commit_id>;
    • 命令git tag可以查看所有标签。
    • 命令 git show <标签>,可以查看标签更详细的信息(比如描述信息)。

    推送和删除远程标签

    • 命令git push origin 可以推送一个本地标签;
    • 命令git push origin --tags可以推送全部未推送过的本地标签;
    • 命令git tag -d 可以删除一个本地标签;
    • 命令git push origin :refs/tags/可以删除一个远程标签。

    git rebase

    变基,就是将当前分支上原本多个线的 commit版本,合并成一条直线,使得历史版本查看起来更直观。
    一般用于合并冲突,提交版本后,执行git rebase

    git branch --set-upstream <branch_name> <origin/branch_name>

    建立本地分支和远程分支的关联

    git branch -D <branch_name>

    强制删除某个未被合并的分支。

    git switch master

    切换到 master 分支

    1. git switch -c dev # 创建并切换到 dev 分支,它跟 git checkout -b dev指令的效果一样。

    git merge --no-ff -m "desc" dev

    git merge --no-ff -m "desc" dev 使用非快进模式合并代码,其中--no-ff参数表示禁用Fast forward。git 默认是使用快进模式合并,这样的坏处是,删除分支后,会丢失分支信息,而禁用后,在合并时会生成一个新的 commit,这样就可以从分支历史上看出分支信息。

    git stash

    git stash将当前暂存区内容放进默认是先进后出的堆栈中。一般用于当前内容还未写完,但是要切换到其他分支做一些操作,可以先将文件 add 进缓存区,然后使用 git stash 将内容保存到堆栈中,即可。

    git stash list  # 列出堆栈中的内容。
    git stash apply # 恢复最近一次的 stash 操作内容,但不删除堆栈中的记录
    git stash pop #  恢复最近一次的 stash 操作内容,且从堆栈中删除记录
    git stash apply stash@{1}  # 恢复到指定的 stash 操作内容,但不删除堆栈中的记录。
    git stash drop stash@{1}  # 删除堆栈中的指定记录。
    

    笔记小抄

  • 相关阅读:
    windows 核心编程 第2章 U n i c o d e
    在一个类内不可以定义自身类的对象,为什么定义自身类的静态对象又是正确的
    将JPG图片绘制在对话框背景上:(这段代码绝对可以执行)
    小技巧给CEdit设置字体
    惠普 升级两年保修
    DoModal返回1,对话框不能显示,今天碰到项目在用unicode编码,和多字符编码时候出现的
    MFC 绘图
    CString类所有成员函数详解
    mysql 一些问题
    错误:不能实例化抽象类
  • 原文地址:https://www.cnblogs.com/li-gao-wang/p/16215415.html
Copyright © 2020-2023  润新知