git学习

2020-01-24  本文已影响0人  子皙丶

分支模型

  1. 产品级的分支模型

常驻分支(一旦创建不会轻易被删除):

活动分支(创建后可能会被删除):

  1. 开发线和发布线


    开发线.png
    发布线.png
  2. init status

按照文件内容分:工作目录,暂存区index,提交区history
按照文件状态分:未跟踪untrack,已跟踪track

  1. add
  1. .gitignore
  1. rm
  1. commit
  1. log

这么长的命令怎么办呢?请看下一个命令

  1. alias

shortname就是起的别名
fullcommand是命令

例如上述的日志记录太长了,可以起个别名直接调用它(如下)
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
这样一来就可以这样使用了git lg就可以了

alias这个命令的配置项都在.gitconfig中配置的

  1. diff

eg : git diff 951c4c6 则是工作目录和951c4c6提交那次的差异eg : git diff 951c4c6 a1b6ddc 则是两次提交的差异对比

  1. checkout
  1. reset

HEAD~1 表示当前节点的上一个节点,也就是上一次提交,同理HEAD~n就是上n次提交(可以代替reference也就是hash值,表示起来更方便)
HEAD^ 和 HEAD~1 一样,HEAD^^ 和 HEAD~2 一样

总结.png
  1. branch

这种情况属于detached head状态,这种情况下是不能提交代码的,因为head此时没有指向任何一个分支,怎么解决呢?一种是将head指向某个分支,git checkout dev,然后在进行操作。一种是在当前位置,git branch new,创建一个新的分支,然后在进行操作

  1. stash
  1. merge
  1. tag

git tag v0.1 <reference> 这样的话就知道这次的版本号是v0.1,我们获取代码的时候可以直接git checkout v0.1 就可以获取这个版本了

起别名v0.1.png
  1. 远程仓库
  1. 整体配置

一般都是在.gitconfig中进行配置的,文件位置在C:\Users\用户名.gitconfig

将如下内容拷贝到配置文件中:

[user]
    name = 你的名字
    email = 你的邮箱

[alias]
    opush = push origin
    opull = pull origin
    br = branch
    co = commit
    st = status
    df = diff
    me = merge
    ch =checkout
    lg = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative
    l = log
    lp = log --pretty=oneline

[color]
    ui = auto

[color "branch"]
    added = yellow
    changed = green
    untracked = cyan

[color "diff"]
    meta = yellow
    frag = magenta bold
    commit = yellow bold
    old = red bold
    new = green bold
    whitespace = red reverse

[color "diff-highlight"]
    oldNormal = red bold
    oldHighlight = red bold 52
    newNormal = green bold
    newHighlight = green bold 22
上一篇 下一篇

猜你喜欢

热点阅读