美文网首页
Git 记录

Git 记录

作者: zhaoyubetter | 来源:发表于2018-02-24 13:29 被阅读8次

参考:

  1. https://www.yiibai.com/git/git_basic_concepts.html

零零散散的一些记录,仅供参考

1.Git 常用操作命令

  1. 创建分支:
    git checkout -b dev // 创建并切换
  2. 切换分支
    git checkout master // 切换到主分支
  3. 查看当前分支
    git branch / git branch -r 查看远程分支
    你可以通过"git remote"命令自由定义额外的“远程名称”。但“git clone”命令默认使用的是“origin”这个名称(origin 表示主机,下面fork时会有介绍 )。
  4. 合并分支
    git merge dev // 命令用于合并指定分支到当前分支
  5. 删掉指定分支
    git branch -d dev
    git push origin :dev2 // 删除远程分支 《不要用》
    git push origin dev // 提交 : 注意冒号
  6. 查看分支合并情况
    git log --graph --pretty=oneline --abbrev-commit
  7. checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
    git checkout -b dev origin/dev

2.小工程的Git 分支管理策略

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
和小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

分支是如何存的

  • .git/refs/head/[本地分支]
  • .git/refs/remotes/[正在跟踪的分支]

合并分支时:请注意--no-ff参数,表示禁用Fast forward,Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息)
git merge --no-ff -m "merge with no-ff" dev 这里是双引号

2.1 Bug分支管理流程

  1. 保存工作现场:
    git stash
  2. 确认哪个分支上有bug,如:master,马上创建临时分支:
    git checkout master // 切换到master分支
    git checkout -b issue-101 // 创建解决bug分支 issue-101
  3. 修复bug,切换到主分支,完成合并,并删除 issue-101分支
    git checkout master
    git merge --no-ff -m 'merged bug fix 101' issue-101 // 合并
    git branch -d issue-01 // 删除bug分支
    git checkout dev // 干活去
    git stash pop

2.2 Feature 新功能分支

类似于bugs分支管理流程

  1. 创建新的分支,并着手新功能开发
    git checkout -b feature-vulcan
    2.切换到dev,准备合并

3. git tag 命令

  1. 打TAG:
    git tag -a 标签名称 -m "标签注释"
  2. push标签
    git push origin 标签名称

4. git fetch 命令

  1. git fetch一般流程
    • git fetch 只会将本地库所关联的远程库的commit id更新至最新
      比如,取回origin主机的master分支。
    • git fetch origin master
      拉取远程 master 分支的更新,注意不会合并,只是更新.git/remotes/下相关的文件;
    • git fetch origin
      拉取远程 origin下的所有分支的更新,主要与上面的命令的区别fetch origin master
    • git diff master origin/master
      本地分支master和远程分支master的差异
    • .cat .git/FETCH_HEAD
      可以看到其状态,若都是 not-for-merge 则不会有接下来的 merge 动作
    • git merge origin/dev
      本地当前的分支与远程远程dev进行合并;
      完整写法:(git merge origin/dev dev) 远程分支 origin/dev merge 到本地 dev 分支;
  1. 将本地修改推送到远程分支
    • git push origin dev
      将本地的dev分支推送到origin主机的dev分支。如果dev不存在,则会被新建;

      如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支;
      git push origin :master 等同于 git push origin --delete master

    • git push origin dev:dev_by
      远程分支名称跟本地不一样的处理,dev_by 为远程分支名

5. git fork 后的操作 (github,gitlab)

fork 就是将别人仓库的fork到自己的仓库中,如果需要与上游仓库进行同步,则需要在本地建立2个remote:1个自己库的(origin 自己的主机),一个上游库的(upstream主机);

一般操作流程与相关命令

  1. git remote -v
    查看关联的远程仓库;verbose
  2. git remote add upstream http://git.xxx.xxx/xxx.git
    将本地分支关联到上游远程 upstream,为别名,跟origin类似
    这样通过 git remote -v 可查看所有的远程分支
  3. git fetch upstream dev
    fetch upstream的dev分支
  4. git fetch upstream
    fetch upstream 上的所有分支
  5. git merge upstream/dev
    merge upstream/dev 到本地当前分支
    完整写法如:(git merge upstream/dev dev) // merge 到本地 dev 分支
  6. git push origin dev:dev
    将当前dev分支内容push到origin下的dev分支
  7. git remote set-url origin git@git.xxx.xx.git
    用来别名来修改对应的远程git地址
  8. 全部操作完毕后, 在网站上使用 new request merge 向上游分支发起pull request 请求;

6.Rebase操作

  1. git pull --rebase

注意:一旦分支中的提交对象发布到公共仓库,就千万不要对该分支进行衍合操作
https://www.git-tower.com/learn/git/ebook/cn/command-line/advanced-topics/rebase

相关文章

  • git常用指令

    git log -3 查看3条记录git log origin/master 查看远程记录git reset 回...

  • git查看提交记录详情

    git 查看commit 提交记录详情 git log //查看所有的提交记录 git show //查看最新的提...

  • 2.3 Git 基础 - 查看提交记录

    提交记录git log 2.2 Git 基础 - 记录每次更新到仓库(删除和改名)2.4 Git 基础 - 撤销操...

  • Git常用命令

    git常用命令记录 git提交一个没有任何改动的记录:git commit -m "empty commit" -...

  • git 并不简单啊

    git log 查看历史记录 git log --pretty=oneline 优美的查看历史记录 git res...

  • GIT commit 回退

    git add .git commit -m "xxx" git log // 查看commit记录commit ...

  • log 和 reflog

    git log是查看commit的历史记录。 git reflog是查看所有git操作的历史记录。

  • Git使用记录

    本地Git撤回提交记录 使用git log查看提交的历史记录 使用git reset --soft head~1撤...

  • GIT-Reflog

    1、git reflog : 查看操作记录 2、撤销某次记录 git reset --soft HEAD@{1} ...

  • Git的使用

    star 记录一下Git的使用,逐步用到了,一步一步更新 GIT 常用指令记录 START 记录一下,GIt的使用...

网友评论

      本文标题:Git 记录

      本文链接:https://www.haomeiwen.com/subject/xtyqxftx.html