1.查看配置列表
git config —list
2.配置用户名密码
git config --global user.name "username"
git config --global user.email “email”
3.修改commit信息
(1)git log(查看历史提交,正序排列)
(2)git rebase -i HEAD~3(修改最近3次提交的信息,这里的log是倒叙排列的)
(3)按 [ i ] 进行编辑, 把pick改为edit,编辑完按esc,然后输入 [ :wq ]保存退出
(4)修改 git commit —amend, 按 [ i ] 进行编辑, 编辑完按esc,然后输入 [ :wq ]保存退出,
(5)git rebase —continue
4.解决冲突:git checkout —ours
用新分支:git checkout --theirs 【文件】
用master分支:git checkout --ours 【文件】
执行之后git add
1.你确定你需要的是哪个仓库的文件
git checkout --theirs conflicted_file.txt # 保留远端的
git checkout --ours conflicted_file.txt # 保留本地的
2.然后执行add和commit
https://www.jianshu.com/p/58f6d7371774
5.cherry-pick用法
应用场景:把任务分支的,某个或多个commit merge到主分支,
例:test分支有两个commit提交,c1和c2,现在只想将c1的提交合并到master,如果用merge的话会把c1和c2都合进去,此时可用cherry-pick解决
首先git log查看一下c1的commit id,复制一下
然后checkout到master,执行git cherry-pick [c1_commit_id]
如果没有冲突就完成了合并,
如果有冲突,先解决冲突,然后git add,git cherry-pick --continue
6.git stash用法保存和恢复工作进度
1.git stash [save message] 保存,save为可选项,message为本次保存的注释(git stash save 'test')
2.git stash list 所有保存的记录列表
3.git stash pop stash@{num} 恢复,num是可选项,通过git stash list可查看具体值。只能恢复一次
4.git stash apply stash@{num} 恢复,num是可选项,通过git stash list可查看具体值。可回复多次
5.git stash drop stash@{num} 删除某个保存,num是可选项,通过git stash list可查看具体值
6.git stash clear 删除所有保存
7.git commit时配置eslint检查
"husky": {
"hooks": {
"pre-commit": "node tools/pre-commit.js && lint-staged",
"commit-msg": "node tools/commit-msg.js",
"prepare-commit-msg": "node tools/prepare-commit-msg.js"
}
}
跳过eslint检查commit时添加--no-verify
8.git pull requerst冲突解决
更新master最新代码,切换到自己的任务分支,在自己的任务分支上merge master分支,解决冲突,然后push
9.git reset --hard [commitId]
版本回退
10.删除分支
删除本地已合并分支:git branch -d [branchname]
强制删除本地分支:git branch -D [branchname]
删除远程分支:git push origin -delete [branchname]
11.修改分支名称
修改本地分支名称:git branch -m [oldname] [newname]
修改远程分支名称:
1. 修改本地分支名称:git branch -m [oldname] [newname]
2. 删除远程分支:git push --delete origin oldName
3. 上传新命名的本地分支:git push origin newName
4. 修改后的本地分支与远程分支关联:git branch --set-upstream-to origin/newName