git 常用命令(持续更新中)

194 阅读3分钟

Git GUIDE

常用命令

  1. 分支操作类

    用途 命令 详解
    查看远程所有分子 git branch -a
    查看本地分支 git branch
    新切分支 git checkout -b [name]
    分支间切换 git checkout [name]
    删除本地分支 git branch -d [name]
    删除远程分支 git push origin --delete [name]
  2. 提交操作类

    用途 命令 详解
    新切分支 git checkout -b [name]
    分支间切换 git checkout [name]
    删除本地分支 git branch -d [name]
    删除远程分支 git push origin --delete [name]
  3. 远程操作相关类

    用途 命令 详解
    初始化 git init
    本地仓库与远程建立连接 git remote add origin git@github.com:XXXX/nothing2.git
    远程获取最新版本到本地 git fetch origin [name] 远程分支与本地分支比较差异 然后合并
    把某个分支上的内容到本地 git pull origin [name] 相当于是从远程获取最新版本并merge到本地
  4. commit合并

    • git log 查看commit日志
    • git rebase -i HEAD~[nummber] ps:nummber为要合并日志的个数
    • 将要丢弃的pick 改成s(通常第一个保留后面的修改s 后面的会合并到第一个上) 保存后修改下message即可
    • 如果合并出现问题使用git rebase --abort终止合并
  5. merge相关

    • dev合并到master --合并前记得拉取最新代码
      • git checkout master
      • git merge dev
    • master 最新合并到 dev
      • git checkout dev
      • git merge master
    • 解决冲突
      • vscode中 根据情况accept incoming change
      • 冲突解决完成 提交 commit
      • 再次合并 git merge master
      • git stash 查看当前所有未解决冲突的文件 也有可能是解决冲突了未提交commit
      • git lg 查看最新提交commit时间 判断代码是否合并成功
      • git log -1 可以查看最新的一次修改记录
  6. Git cherry-pick 合某一个commit

    • 自己的分支下git lg 获得要合并到master分支上的 commit id
    • 切到master分支git cherry-pick <C2_id>合并单一commit到主分支上
    • 解决冲突
    • git add . git commit git push 提交
    • 或者 git add .提交到缓存区 git cherry-pick --continue 继续合并
  7. git tag 打标签

    • checkout到要打标签的分支上
      • git tag v1.0 --默认标签是打在最新提交的commit上的
      • git tag --查看所有标签
      • git tag -d v0.1.2 --删除Tag
      • git tag v0.9 f52c633 --打标签到指定的commit上 最后一个参数是commitID
      • 创建带有说明的标签,用-a指定标签名,-m指定说明文字:
        • git tag -a v0.1 -m "version 0.1 released" 1094adb
      • git show <tagname> --可以看到说明文字
    • 提交tag到远程仓库
      • git push origin v0.1.2 --将v0.1.2 Tag提交到git服务器
      • git push origin –-tags --将本地所有Tag一次性提交到git服务器
  8. git stash 命令 *

生产发布 回滚等

  1. 代码回滚到上一个版本

github代码贡献

  1. github 贡献代码流程

    • 进入到自己要贡献的开源项目
    • 点击Fork后将会克隆一份代码到自己的github账户中
    • 将自己github的远程代码拉倒本地 并切一个分支进行修改
    • 将自己修改好的代码合并到master分支上
    • 在自己github仓库中fork的开源项目中点击"New pull request" 向源码项目提交请求
    • 作者看到会考虑是否合并

gitlab 添加项目

  1. Git global setup

    • git config --global user.name "songbo"
    • git config --global user.email "602088180@qq.com"
  2. 创建新仓库

  3. 已经存在的文件件

  4. 已经存在的项目仓库

git工作流指南

  1. 集中式工作流

    1
    23
    3

  2. 功能分支工作流
  3. Gitflow工作流
  4. Fork工作流
  5. pull Request

持续更新中