我也用Git命令

132 阅读2分钟

一直习惯于用SourceTree等可视化的代码管理工具,总是get不到代码管理的精髓,看来git命令还是要用起来哇

常用Git命令汇总

  • 查看提交记录

    • git log
  • 代码管理

    • 暂存
      • git add .
    • 提交代码
      • git commit -m "注释"
    • 遴选某次提交
      • git cherrypick eaddd92
  • 分支

    • 查看分支
      • 查看所有本地分支
        • git branch
      • 查看所有远程分支
        • git branch -r
      • 查看所有远程分支和本地分支
        • git branch -a
    • 切换分支
      • 切换到指定分支,并更新工作区
        • git checkout [branchName]
    • 新建分支
      • 新建分支,仍停留在当前分支
        • git branch [newBranchName]
      • 新建分支,并切换到该分支
        • git checkout -b [newBranchName]
      • 从指定的提交新建分支
        • git branch [newBranchName] [commitId]
      • 从指定的标签新建分支
        • git checkout -b [branchName] [tagName]
      • 新建分支,并关联到指定的远程分支
        • git branch --track [newBranchName] [remoteBranchName]
    • 关联分支
      • 将本地分支关联到指定的远程分支
        • git branch --set-upstream [branchName] [remoteBranchName]
    • 合并分支
      • 合并指定分支到当前分支
        • git merge [branchName]
      • 合并指定提交到当前分支
        • git cherry-pick [commitId]
    • 重命名分支
      • 重命名本地分支(尚未推送到远程)
        • git branch -m <:oldName> <:newName>
      • 重命名远程分支
        • step1 重命名本地分支
          • git branch -m <:oldName> <:newName>
        • step2 删除远程分支
          • git push --delete origin <:oldName>
        • step3 将本地重命名分支推送到远程仓库
          • git push origin <:newName>
        • step4 本地重命名分支关联到远程分支S
          • git branch --set-upstream-to origin/<:newName>
    • 删除分支
      • 删除本地分支
        • git branch --delete [branchName]
        • git branch -d [branchName]
      • 强制删除本地分支
        • git branch -D [branchName]
      • 删除远程分支
        • git origin --delete [branchName]
    • 推送分支
      • 推送到远程分支
        • git push origin fix_bug
      • 强制推送到远程分支(⚠️远程分支的代码会被本地分支的覆盖,慎用⚠️)
        • git push -f origin fix_bug
    • 取回所有分支的更新
      • git fetch
  • 标签

    • 查看标签
      • 查看所有标签
        • git tag
      • 查看指定标签的信息
        • git show [tagName]
    • 新建标签
      • 在当前提交新建标签
        • git tag [tagName]
      • 在指定提交新建标签
        • git tag [tagContent] [commitId]
        • git tag -a [tagName] -m [commitId]
    • 提交指定标签
      • git push [remote] [tagName]
      • git push origin [tagName]
    • 提交所有标签
      • git push origin --tags
      • git push [remote] --tags
  • 忽略

    • 多人开发时,提交了项目无关的本机文件,例如.DS_Store
      • step1 删除项目文件夹下的所有.DS_Store文件
        • find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
      • step2 提交更新
        git add .
        git commit -m 'fix: Delete all .DS_Store'
        
  • 参考链接

Commitizen提交规范

github.com/commitizen/…

github.com/commitizen-…

提交格式1

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

提交格式2

<type类型>(<scope 可选作用域>): <subject 描述> 
<BLANK LINE>
<body 可选的正文>
<BLANK LINE>
<footer 可选的脚注>

其中,footer里面可以标记链接,body可以写明自己的想法。示例:

feat: 添加资产管理模块 

增加资产列表、搜索。 
    
需求No.181 http://xxx.xxx.com/181。