合并某个commit分支

git cherry-pick [commit id]

Git 操作指令

https://www.runoob.com/git/git-install-setup.html
https://git-scm.com/book/zh/v2
https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-Git-%E5%9F%BA%E7%A1%80

git别名设置
$ git config —global alias.co checkout
$ git config —global alias.br branch
$ git config —global alias.ci commit
$ git config —global alias.st status

$ git branch testing 创建分支
$ git log —oneline —decorate 查看各个分支当前所指的对象
$ git checkout testing 切换分支
$ git log —oneline —decorate —graph —all 查看分叉历史
$ git checkout -b iss53 等价于:$ git branch iss53 和 $ git checkout iss53 (新建一个分支并同时切换到那个分支上)
$ git merge hotfi01 合并分支
$ git branch -d hotfix 删除分支
$ git branch -v 查看分支详细信息

$ git ls-remote 获得远程引用的完整列表
3.5 Git 分支 - 远程分支

Git基础命令

https://www.runoob.com/git/git-install-setup.html
https://git-scm.com/book/zh/v2
https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-Git-%E5%9F%BA%E7%A1%80

$ sudo yum install git
$ sudo apt-get install git
http://git-scm.com/download/linux

/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果使用带有 —system 选项的 git config 时,它会从此文件读写配置变量。
~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 可以传递 —global 选项让 Git 读写此文件。
当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。

$ git config —global user.name “John Doe”
$ git config —global user.email johndoe@example.com
$ git config —list

$ git help config

$ git add *.c
$ git add LICENSE
$ git commit -m ‘initial project version’
$ git clone https://github.com/libgit2/libgit2 mylibgit

$ git status -s 紧凑的格式输出
$ git diff
$ echo ‘# test line’ >> README.md
$ git rm log/*.log
$ git mv file_from file_to

$ git log
$ git log -p -2 一个常用的选项是 -p,用来显示每次提交的内容差异。 你也可以加上 -2 来仅显示最近两次提交:
$ git log —stat 每次提交的简略的统计信息,你可以使用 —stat
$ git log —pretty=oneline 日志过滤 —pretty
$ git log —pretty=format:”%h - %an, %ar : %s” 可以定制要显示的记录格式format

%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 —date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明

$ git log —pretty=format:”%h %s” —graph

-p 按补丁格式显示每个更新之间的差异。
—stat 显示每次更新的文件修改统计信息。
—shortstat 只显示 —stat 中最后的行数修改添加移除统计。
—name-only 仅在提交信息后显示已修改的文件清单。
—name-status 显示新增、修改、删除的文件清单。
—abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
—relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
—graph 显示 ASCII 图形表示的分支合并历史。
—pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。

$ git log —since=2.weeks 限制输出长度

$ git commit —amend 更改上一次的操作日志、代码, #:忽略
$ git reset —mixed HEAD CONTRIBUTING.md
$ git reset —hard HEAD CONTRIBUTING.md
$ git reset —soft HEAD CONTRIBUTING.md

$ git remote -v 显示需要读写远程仓库使用的Git地址
$ git remote add pb https://xxx.com/ 添加远程地址
$ git fetch pb 从远程仓库中抓取与拉取
$ git push origin [branch-name] 推送到远程仓库xx分支
$ git remote show [remote-name] 查看xx远程仓库 origin
$ git remote rename pb paul 远程仓库的移除与重命名
$ git remote rm paul 远程仓库的移除与重命名
$ git tag git查看标签
$ git tag -a v1.4 -m “my version 1.4” git创建标签v1.4 日志 my version 1.4
$ git tag -a v1.2 9fceb02 创建标签(命令的末尾指定提交的校验和(或部分校验和)) 9fceb02 ,git log —pretty=oneline
$ git push origin v1.5 推送到远端标签
$ git push origin —tags 推送所有标签
$ git tag -d v1.4 删除标签
$ git checkout v1.2 检出标签
$ git checkout -b newBranch v2.0.0 标签v2.0.0上创建一个newBranch分支
git cherry-pick 某个commit id // 把某个commit id的提交合并到当前分支.