Git Tips

155 阅读2分钟

github 提交PR

  1. fork项目
  2. 克隆项目 git clone
  3. 创建一个本地分支 git checkout -b dev origin/master
  4. 修改后提交
git add .
git commit -m ''
git push -u origin dev:master
  1. fork的开源项目,创建一个Pull request

git tag 操作

# 打标签
git tag -a tagName -m "msg"
# 指定commitId打标签
git tag -a tagName -m "msg" commitId

# 删除本地标签
git tag -d tagName
# 删除远程tag
git push origin --delete tagName

# 推送某个标签
git push origin tagName
# 推送全部未推送过的本地标签
git push origin --tags

# 显示默认列表
git tag

# 查看某个tag信息
git show tagName

git config --global init.defaultBranch master

功能说明:git init 时,将主分支名改为master

git commit --amend

功能说明:撤销上次commit 重写commit

git reset --soft HEAD^

git merge && git rebase

git rebase 变基操作

git stach

功能说明:暂存现在所写代码,便可切换分支等操作, 使用 git stach pop 弹出暂存代码

git squash

合并远端commit 记录

git pull origin master

拉取远端master上的代码到当前分支

合并其它分支到当前分支

git branch -a

git checkout 他人的分支名

// 拉取该分支上的新代码
git pull

// 切换到自己的分支
git checkout 自己的分支名

// 合并他人的分支
git merge 他人的分支名

//查看文件冲突`
git status

创建分支

git branch dev
# or
git checkout -b dev

切换本地分支

git checkout dev

切换分支并关联远程分支

git checkout -b dev origin/dev
# or
git checkout --track origin/dev

删除远程分支

git push origin -d dev

查看尚未暂存的更新

git diff

推送代码到远程分支

git push origin dev

# 强制推送(常在 git rebase 或 git reset 后使用)
git push -f origin dev

拉取远程分支代码

git pull origin dev

合并分支

git merge dev

查看提交历史

git log

把本地未 push 的分叉提交历史整理成直线

git rebase origin/dev

回到 rebase 执行之前的状态

git rebase --abort

回退版本

git reset --hard commit_id

# 回退上一个版本
git reset --soft HEAD^

撤销代码

git revert commit_id

修改分支名

# 第一步
git branch -m oldBranchName newBranchName

# 第二步
git push origin :oldBranchName

# 第三步
git push --set-upstream origin newBranchName

查看 git 配置

# 查看全局配置
git config --global --list

# 查看用户名
git config --global user.name

添加用户名

git config --global --add user.name newName

删除用户名

git config --global --unset user.name

修改用户名

git config --global user.name newName

配置 Git 用户名和邮箱

# 用户名
git config --global user.name "Your Name"

# 邮箱
git config --global user.email "email@example.com"

提交规范

feat: 增加新功能
fix: 修复问题/BUG
style: 代码风格相关无影响运行结果的
perf: 优化/性能提升
refactor: 重构
revert: 撤销修改
test: 测试相关
docs: 文档/注释
chore: 依赖更新/脚手架配置修改等
workflow: 工作流改进
ci: 持续集成
types: 类型定义文件更改
wip: 开发中