克隆分支代码到本地

git clone -b 分支名 地址

git命令提交代码

git add .

git commit -m "备注说明"

git push origin 分支名

分支代码被污染无法抢救的时候(进行cherry-pick)

1.从master重新创建新分支

2.将新分支克隆到本地

3.打开被污染的分支查看历史提交纪录

4.git cherry-pick 复制提交记录标识id

5.如果cherry-pick下来的代码有冲突(解决冲突)

解决完冲突

git add .

git cherry-pick --continue

eshsc  :q   回车键

6.cherry-pick完所有需要cherry-pic的代码后

7.git push

分支代码被污染,本地代码正常

1.直接删掉分支代码

2.本地重新push

git push origin 分支名

如果代码合并出现冲突(例如A分支向B分支发起合并请求,B合并A时发生冲突)

1.把本地分支切换到要合并的分支B

git checkout B

2.pull该分支

git pull

3.pull完成后切换会A分支

git checkout A

4.rebase 将要合并到的分支

git rebase B

5.解决冲突

6.解决完冲突

git add .

git rebase --continue

7.继续rebase 将要合并到的分支

git rebase B

8.rebase所有代码完成之后

(idea)修改该分支名或者new Branch一个新分支

git push origin 分支名

(git rebase --abort回到rebase之前)

如果切换到B分支pull完后无法切回待A分支

1. git merge --abort

2.删掉本地B分支

(idea) 右键该分支名直接delete

3.删除完成后,重新checkout B分支进行git pull

git checkout B

git pull

本地未开发完,需要切分支

 git stash    保存到本然后就可以切分支了

git status   比较分支

如果合并冲突,不想rebase可以进行git merge

A请求合并到B,出现冲突,可以使用A分支git merge b

本地idea合并分支,A合并到B

1.首先切换到B分支

git checkout B

2.然后B merge A

git merge A

3.终止merge

git merge --abort

本地分支和远程分支不同步,更新本地分支

git fetch 是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。

回退

git reset --hard 目标版本号

回退后git push失败, 提示说 remote 端的版本比我本地版本要高

git push -f 强推

删除远程分支

删除远程分支: git push origin --delete [branchname]

git查看提交者排名前N位

git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5

git 本地修改未提交时切换分支

1.缓存本地变更 git stash

2.切换分支 git checkout dev

3.提取本地变更 git stash apply

git commit后没有push,回退并保留工作内容

git reset --soft 目标版本号(上一个push的版本号)

git提交规范

公式:<type>(<scope>): <subject>

1、type

用于说明 commit 的类别,只允许使用下面7个标识。

feat:新功能(feature)

fix:修补bug

docs:文档(documentation)

style: 格式(不影响代码运行的变动)

refactor:重构(即不是新增功能,也不是修改bug的代码变动)

test:增加测试

chore:构建过程或辅助工具的变动

2、scope(选填)

用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

3、subject

是 commit 目的的简短描述,不超过50个字符。

4、示例

gitlab网页合并后怎么加tag gitlab合并冲突怎么解决_远程分支