美文网首页
Git常用命令

Git常用命令

作者: 全球顶尖伪极客 | 来源:发表于2019-06-27 18:08 被阅读0次

    【git命令】
    在线练习网站:https://learngitbranching.js.org/
    在git工程下:

    • 查看git树形图
      git log –graph
    • 查看当前branch 和更改的文件
      git status

    commit

    • 添加所有的修改文件至index
      git add .
      git ls-files # 列出git index包含的文件
      git rm xxx # 删除index中的xxx文件

    • 取消添加的文件
      git reset . 或者 git reset 文件名

    • 提交到本地仓库
      git commit -m "your "

    git commit -m 'xxx' # 提交
    git commit --amend -m 'xxx' # 合并上一次提交(用于反复修改)
    git commit -am 'xxx' # 将add和commit合为一步

    • 合并多个commit
      git rebase -i
      git rebase -i master~4 只操作master分支的最近4次commit
      修改关键字说明:
      pick:保留该commit(缩写:p)
      reword:保留该commit,但我需要修改该commit的注释(缩写:r)
      edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
      squash:将该commit和前一个commit合并(缩写:s)
      fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
      exec:执行shell命令(缩写:x)
      drop:我要丢弃该commit(缩写:d)
      a编辑 esc 退出编辑 :wq保存编辑

    git commit --amend 将改动合并到上一个commit

    拉取 Pull
    拉取当前分支最新代码
    git pull
    拉取最近代码 并将commit节点移到最新
    git pull -r
    拉取指定分支代码
    git pull origin master rebase

    • 取消本地commit
      git reset HEAD~2 回退向前两个版本的commit记录(删除最新的两次commit记录)
      git reset --mixed commit_id 取消add和commit操作 不改变代码。
      git reset --soft commit_id 取消commit操作 不撤销add,不改变代码。
      git reset --hard commit_id 去向commit并将代码还原到之前版本
    • 撤销远程分支提交记录
      git revert <id> 撤销某个提交记录
      git push 推送到远程分支

    分支

    • 查看远程所有分支
      git branch -r
    • 查看本地仓库所有分支
      git branch
    • 查看本地和远程所有分支
      git branch -a
    • 创建分支
      git branch <branchName>
    • 切换到某分支
      git checkout <branchName>
    • 创建并切换到当前分支
      git checkout -b <your-branch-name> 相当于上两步
    • 从远程分支检出并关联
      git checkout -b <本地分支名> <origin/远程分支名>
    • 把当前分支强制指向某提交节点
      git branch -f <当前分支名> <commitId>
      例子:git branch -f master 63c7a35
      git checkout -fB <当前分支名> <commitId>
      git checkout -fB master 63c7a35
    • 把当前分支所有节点平移到另一个分支某个节点
      git rebase <要平移的分支节点的commitId>
    • 查看本地分支与远程分支的版本对比
      git branch -vv
    • 查看本地和远程的所有分支
      git branch -a
    • 删除本地分支
      git branch -d <BranchName>
    • 删除远程分支
      git push origin --delete <BranchName>
    • 当前分支与远程某分支做关联
      git branch -u orgin/master

    Merge合并代码

    • 把branchA 合并到master里
      git checkout master 先切换到master分支
      git merge branchA 把branchA合并过来

    Cherry-pick

    • 有点类似于rebase 可以选中某几个提交记录
      例子:其他分支有ABCD4个提交记录,要取D和B两个提交merge到master上(ABCD指的是commitId):
      git checkout master 切换到master分支
      git cherry-pick D B 将D和Bmerge到mater中

    Tag标签

    • 给某个分支打标签
      git tag <TAG content> <commitId>

    Stash
    存:git stash 将当前代码的改保存起来 生成一个id
    git stash list 查看保存列表
    取:git stash pop 将最新的保存记录恢复到工作区
    git stash pop stash@{id} 指定恢复某个记录

    【commit前要做的事情】

    • 代码风格检验
      mint stylecheck

    • 单元测试
      mint precommit

    相关文章

      网友评论

          本文标题:Git常用命令

          本文链接:https://www.haomeiwen.com/subject/rxqdcctx.html