XinChou16 / MIX

https://xinchou16.github.io/MIX/index.html
1 stars 0 forks source link

Git command #34

Open XinChou16 opened 5 years ago

XinChou16 commented 5 years ago

@create 20190426

@update 20190609

Git 分支

长期分支(常驻分支)

  1. master 线上版本分支(production)
  2. develop 日常开发分支,从 master 创建(development)

短期分支(活动分支,需要定期删除)

  1. feature/* 功能分支,从 develop 创建,需要合并到 develop 分支
  2. release/* 测试分支,提交测试人员测试的
  3. bugfix/* bug 修复分支
  4. hotfix/* 紧急 bug 修复分支,需合并到 develop 和 master 分支

常用command

git add .
git commit -m "commit msg"
git push origin master

常用提交

操作回退

git 配置与帮助

  1. 用户配置
git config --global user.name "Evan"
git config --global user.email "my@coolchou.cn"
  1. 配置级别
  1. 命令帮助

git <command> -h

git 状态

  1. 内容状态

工作目录、暂存区、提交区

  1. 文件状态

未跟踪、已跟踪

各种区

  1. 工作区 => 暂存区
  1. 工作区 <= 暂存区
  1. 暂存区 => 提交区
  1. 暂存区 <= 提交区
  1. 工作区 => 提交区
  1. 工作区 <= 提交区
  1. 撤销跟踪状态
  1. 文件的暂存

暂存工作目录和暂存区

分支操作

  1. git branch

分支的增删查改

  1. git checkout

分支的切换

  1. git reset 分支回退

将当前分支回退到历史某个历史版本

reset VS commit

  1. git merge 合并

分支的合并

  1. git rebase

修改提交历史的基线

标签

对某个提交设置一个不变的别名

提交复制

 提交移动

Scene

  1. 只取一次提交记录
git rebase -i
git cherry-pick
  1. 拉取并合并

git pull git fetch git merge origin/master

  1. 远程超前本地,且有冲突

a). 克隆仓库 git clone b). 更新远程 git fakeTeamwork c). 更新本地 git commit d). 拉去远程 git pull --rebase e). 推送本地到远程 git push

git fetch git rebase origin/master git push

git fetch git merge origin/master git push

或(文件添加到提交区,origin分支有更新) git pull --rebase git push

  1. 多个分支,远程已更新一个分支
git fetch
git rebase origin/master dev1
git rebase dev1 dev2
git rebase dev2 dev3
git rebase dev3 master
git push
  1. 提交指定分支名
  1. 跨分支提交

命令: git push origin <source>:<description>

  1. 提交记录的下载

git fetch:默认会下载所有的提交记录到各个远程分支

  1. 删除远程分支

Reference

XinChou16 commented 5 years ago

refer

Scene

  1. 本地分支落后新的分支
  2. 远程分支和本地分支都修改了同一个文件

Solution

使当前的更改基于远程最新分支

方法一:

  1. git fetch origin
  2. git rebase origin/master
  3. git push

方法二:

git fetch origin
git merge origin/master
git push

等同于 git pull; git push

注:

简化版本

核心命令

git pull --rebase
git push

遇到冲突:

  1. 解决冲突
  2. 解决完 git add 添加该文件
  3. git rebase --continue
  4. 推送到远端
git add README.md
git commit
git pull --rebase
git add README.md 解决冲突
git rebase --continue
git push

核心命令

git fetch
git rebase
git push
XinChou16 commented 5 years ago

git shortlog