美文网首页
Git 日常命令

Git 日常命令

作者: 风之化身呀 | 来源:发表于2017-12-31 13:17 被阅读37次

1、基本命令

  • git add .
  • git commit -m "first commit "
  • git push 远程仓库 本地分支:远程分支
  • git pull 远程仓库 远程分支:本地分支
  • git checkout -b "name" origin/release 创建并切换分支(以远端origin为基准)
  • git branch 列出本地所有分支
  • git branch -r 列出远端所有分支
  • git push origin --delete test 删除远程分支
  • git branch -d test 删除本地分支
  • git branch -D test 如果有未提交的文件,用它

2、进阶命令

  • git show // 显示当前分支的提交历史
  • git log // 显示所有分支的提交历史
  • git commit --amend //该命令会触发vim编辑器,用于编辑提交信息(此命令只适合本地commit尚未提交到远端,否则会有冲突)
  • git checkout -- filename // 取消工作区修改,即没有git add .过的文件
  • git reset HEAD -- filename // 取消暂存区,即git add .过但没commit过的文件,注意‘--’前后有空格
  • git reset HEAD~n // 撤销本地仓库当前HEAD之前n个版本的提交,暂存区会被干掉,工作区保留
  • git reset --hard HEAD~n //撤销当前HEAD之前n个版本的提交,暂存区和工作区都会被干掉
  • git merge branch-name //在当前分支合并branch-name分支
  • git rebase master // 在当前分支rebase master分支
  • git diff // 工作区和暂存区对比
  • git diff --staged // 暂存区和HEAD对比
  • git stash //切换分支前将工作区和暂存区(未git add 和 git add .的文件)放置临时存储区,否则会带到其他分支去
  • git stash pop // 取出临时存储区
  • git stash drop // 扔掉临时存储区
  • git stash --keep-index // 存储没有git add过的文件,用于不想提交某个文件
  • git cherry-pick commitID //在当前分支上提取别的分支的某次提交
  • git reflog 查看HEAD指针位置,git reset HEAD@{number} 回到某次提交
  • git tag -a "v2.8.0" -m "导入" 添加tag
  • git push origin v2.8.0 推送tag
  • git pull --rebase 避免多余的 commit 信息
  • git merge --squash branch_name 重新提交,一般用于往主分支上合并代码,避免将功能分支的提交记录合并到主分支上,方便回退
  • git bisect start HEAD ffnc // git 调试 git bisect bad/good/reset

3、常见问题

  • 切分支时当前分支的修改被带到另一个分支问题
    有两种情况:1、当前分支新建了文件(原分支没有这个文件),在切分支之前必须commit掉才不会带到另一个分支;
    2、当前分支修改了某个文件(原分支有这个文件),在切分支之前有两种选择:1、可以使用stash命令缓存起来,这样不会带到另一个分支,当再切回该分支时,再用stash pop命令恢复缓存的修改,这种方式使用的更多;2、commit掉
  • rebase 和 merge 的区别
    merge执行一个合并,或者说一个融合。我们希望在当前分支上往前走,所以我们需要融合合并其他分支的工作,从而放弃其他的分支。一般是在master分支上merge其他分支,出现冲突解决即可。
    rebase存在的价值是:对一个分支做“变基”操作,这意味着改变这个branch的初始commit。它会在新的base上一个一个地运行这个分支上的所有commits.一般是在其他分支上rebase master分支,然后切回master分支,再做merge操作。
  • 怎么解决冲突
    首先搞清楚冲突的是哪个文件,其次搞清楚冲突的双方内容的位置,即哪个是本地的,哪个是远程的。见下图:


    解决冲突
    image.png

4、分支工作流

  • 多人协作


    多分支

    注意:此图代表的是远端分支情况!每次提交代码前请git pull代码,因为可能别人修改过远端branch分支

  • 个人工作流程
    比如你负责feature1分支的工作,应该首先git clone feature1,然后在本地默认会生成master分支。在本地执行git checkout -b dev 从本地master分支创建并切换到dev分支,当dev分支的功能完成后,切回本地master分支,在master分支上执行git merge dev操作,完成后在master分支上进行提交操作 git push
  • 分支管理


    分支管理

5、可视化工具 sourceTree

用SourceTree轻松Git项目图解
SourceTree 免登录跳过初始设置
SourceTree通过配置SSH来链接GitLab

相关文章

  • GIt 操作补充

    常用的git操作命令 常用的git操作命令已经能够满足日常的工作需求 现补充一些高级命令 git branch -...

  • Git上传和下载命令

    Python分析建模,日常问题整理(九) 2018.09.17~2018.09.23 1 git命令 Git是目...

  • Git 日常命令

    1、基本命令 git add . git commit -m "first commit " git push 远...

  • git 日常命令

    关于git的一些命令行操作 基本指令 git add添加之暂存区 git commit -m ''添加至版本库 g...

  • 常用 Git 命令清单

    Git 日常使用只要记住下图6个命令,就可以了。 熟练使用,恐怕要记住60~100个命令,下面常用 Git 命令清...

  • 常用 Git 命令

    我们每天使用 Git ,但是很多命令记不住,这里列出日常可能会使用的一些git命令,方便以后查阅。 git名词解释...

  • 常用 Git 命令清单

    常用 Git 命令清单每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。...

  • Git常用命令

    常用Git命令,日常工作是够了,默认已安装Git 安装Git(Mac) 安装Xcode默认安装Git,需要最新版本...

  • git常用命令

    以下git命令足以满足日常操作,如有错误请大家反馈。 倔强青铜git操作 利用git将本地项目上传到git远程仓库...

  • 常用Git命令

    推荐《Pro Git中文|Pro Git英文》 每天都在使用 Git ,但是很多命令记不住。一般来说,日常使用只要...

网友评论

      本文标题:Git 日常命令

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