前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常见的git命令

常见的git命令

作者头像
leader755
发布2022-03-09 14:07:02
2190
发布2022-03-09 14:07:02
举报
文章被收录于专栏:万丈高楼平地起

主要目的

  • 实现 git 项目管理,本地开发与提交。

基本命令

1.查看分支

  1. 查看所有分支(远程和本地)
代码语言:javascript
复制
git branch -a
  1. 查看本地所有的分支
代码语言:javascript
复制
git branch
  1. 列出所有的远程分支
代码语言:javascript
复制
git branch -r
  1. 查看本地分支与远程分支的映射关系
代码语言:javascript
复制
git branch -vv
  1. 撤销本地分支与远程分支的关系
代码语言:javascript
复制
git branch --unset-upstream
  1. 将本地新建的分支与远程分支相关联(在当前分支下输入以下命令)
代码语言:javascript
复制
git branch -u origin/分支名       //其中origin/分支名 中分支名 为远程分支名

或使用下面命令

代码语言:javascript
复制
git branch --set-upstream-to origin/分支名

###

2.拉取远程分支并更新本地分支

代码语言:javascript
复制
git fetch origin(不指定分支名就是远程全部分支)
git fetch origin XXX (拉下远程指定的分支)

git pull origin master

3.新建分支

  1. 从远程拉取分支到本地
代码语言:javascript
复制
git checkout -b 本地分支名 origin/远程分支名
  1. 新建一个本地分支并切换到该分支
代码语言:javascript
复制
git checkout -b 本地分支名
  1. 新建一个本地分支(仍停留在当前分支)
代码语言:javascript
复制
git branch 本地分支名

4.切换分支

  1. 切换到另一个分支
代码语言:javascript
复制
git checkout 分支名
  1. 切换到上一个分支
代码语言:javascript
复制
git checkout -

5. 提交分支

  1. 添加当前目录的所有文件到暂存区
代码语言:javascript
复制
git add .
  1. 提交暂存区到仓库区
代码语言:javascript
复制
git commit -m 'submit-新功能开发完成'
  1. 直接来提交到仓库 (不需要执行 git add 命令)相当于 一二步的合并
代码语言:javascript
复制
git commit -a -m  'submit-新功能开发完成'
  1. 直接来提交到仓库 (不需要执行 git add 命令)相当于 一二步的合并,但是只能提交已经追踪过且修改了的文件,如果是新增文件就必须使用 git add 的命令;
代码语言:javascript
复制
git commit -am  'submit-功能完成'
  1. 提交时显示所有 diff 信息
代码语言:javascript
复制
git commit -v
  1. 分次提交 (添加每个变化前,都会要求确认对于同一个文件的多处变化,可以实现分次提交)
代码语言:javascript
复制
git add -p

6.删除分支

  1. 删除本地的分支
代码语言:javascript
复制
git branch -d XXX
  1. 删除远程仓库的 分支.
代码语言:javascript
复制
git push origin --delete XXX

###

7.查看信息

  1. 显示有变更的文件
代码语言:javascript
复制
git status
  1. 显示当前分支的版本历史
代码语言:javascript
复制
git log
  1. 显示暂存区和工作区的差异
代码语言:javascript
复制
git diff
  1. 显示某次提交的元数据和内容变化
代码语言:javascript
复制
git show [commit]
  1. 显示 commit 历史,以及每次 commit 发生变更的文件
代码语言:javascript
复制
 git log --stat
  1. 显示当前分支的最近几次提交
代码语言:javascript
复制
 git reflog
  1. 显示过去 5 次提交
代码语言:javascript
复制
git log -5 --pretty --oneline
  1. 显示某次提交发生变化的文件
代码语言:javascript
复制
git show --name-only [commit]
  1. 显示指定文件相关的每一次 diff
代码语言:javascript
复制
git log -p [file]
  1. 显示指定文件是什么人在什么时间修改过
代码语言:javascript
复制
git blame [file]
  1. 搜索提交历史,根据关键词
代码语言:javascript
复制
git log -S [keyword]
  1. 显示所有提交过的用户,按提交次数排序
代码语言:javascript
复制
git shortlog -sn
  1. 显示某次提交时,某个文件的内容
代码语言:javascript
复制
git show [commit]:[filename]

实例:

1. 新建本地分支并推送到远程分支

代码语言:javascript
复制
//远程先开好分支然后拉到本地
git checkout -b feature origin/feature //检出远程的feature分支到本地

//本地先开好分支然后推送到远程
git checkout -b feature    //创建并切换到分支feature
git push origin feature:feature  //推送本地的feature(冒号前面的)分支到远程origin的feature(冒号后面的)分支(没有会自动创建)

2.分支提交:

//提交 feature-goods-3.1.2 代码,操作如下

代码语言:javascript
复制
git add .
git commit -m 'submit- 商品图片上传功能完成'
// git commit -a -m 'submit- 商品图片上传功能完成' //将 1,2 步合并
git push

3.切换分支

代码语言:javascript
复制
git checkout -b feature-goods-3.1.3 //新建一个本地分支并切换到该分支
git checkout feature-goods-3.1.3 //切换到当前分支
git checkout - //切换到上一个分支

4.合并分支

例如:想将 dev 分支合并到 master 分支,操作如下:

代码语言:javascript
复制
git  checkout master    //切换到master分支上
git pull origin master  //把远程分支pull下去,及时更新
git  merge dev          //把dev分支的代码合并到master上
git branch --merged     //只是为了确认所有内容都已合并,请运行以下命令:
git status              // 查看状态
git push origin master  //push到远程分支

5.回滚代码版本(慎用)

代码语言:javascript
复制
git fetch --all
git reset HEAD //需要回滚的版本号
git push origin --force //然后本地分支覆盖远程分支

6.代码撤销

代码语言:javascript
复制
git checkout . // 恢复暂存区的所有文件到工作区
git reset --hard  //重置暂存区与工作区,与上一次commit保持一致

7.本地分支覆盖远程分支(慎用)

代码语言:javascript
复制
git checkout 分支名
git push origin 分支名 --force       (远程分支名)

8.远程分支覆盖本地分支(慎用)

代码语言:javascript
复制
git fetch --all  (拉取所有分支)
git reset --hard origin/master (master指定远程的分支)
git pull

9.删除分支

代码语言:javascript
复制
//查看所有分支
git branch -a

//删除本地分支
git branch -d  XXXX

//删除远程分支
git push origin --delete XXX

10.保存当前工作进度

代码语言:javascript
复制
保存当前工作进度
git stash

添加一些注释
git stash save 'message...'

恢复最新的进度到工作区
git stash pop

11.将本地新建的分支与远程分支相关联(在当前分支下输入以下命令)

代码语言:javascript
复制
git branch -u origin/分支名       //其中origin/分支名 中分支名 为远程分支名

或使用下面命令

代码语言:javascript
复制
git branch --set-upstream-to origin/分支名

12.撤销本地分支与远程分支的关系

代码语言:javascript
复制
git branch --unset-upstream

13. 分支打标签

代码语言:javascript
复制
列出当前分支所有标签
git tag

打标签(轻量标签和附注标签)
git tag v0.1.2  (标签版本)
git tag -a v0.1.2 -m '0.1.2版本'  (带标注的标签)

# 补打标签
git tag -a v0.1.2 9fbc3d0  (为之前的版本补打标签)

标签发布(git push 不会将标签对象提交到git服务器)
git push origin v0.1.2    # 将v0.1.2标签提交到git服务器
git push origin –-tags     # 将本地所有标签一次性提交到git服务器

查看标签版本信息
git show v0.1.2

删除标签
git tag -d v0.1.2   删除标签

###

14.用于比较两次修改的差异

代码语言:javascript
复制
工作区与暂存区(默认)
git diff

Git仓库 vs Git仓库
git diff <commit> <commit>

暂存区 vs Git仓库
git diff --cached <filename>

参考文章:

https://blog.csdn.net/litongqiang/article/details/107388918 https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主要目的
  • 基本命令
    • 1.查看分支
      • 2.拉取远程分支并更新本地分支
        • 3.新建分支
          • 4.切换分支
            • 5. 提交分支
              • 6.删除分支
                • 7.查看信息
                • 实例:
                  • 1. 新建本地分支并推送到远程分支
                    • 2.分支提交:
                      • 3.切换分支
                        • 4.合并分支
                          • 5.回滚代码版本(慎用)
                            • 6.代码撤销
                              • 7.本地分支覆盖远程分支(慎用)
                                • 8.远程分支覆盖本地分支(慎用)
                                  • 9.删除分支
                                    • 10.保存当前工作进度
                                      • 11.将本地新建的分支与远程分支相关联(在当前分支下输入以下命令)
                                        • 12.撤销本地分支与远程分支的关系
                                          • 13. 分支打标签
                                            • 14.用于比较两次修改的差异
                                            • 参考文章:
                                            相关产品与服务
                                            项目管理
                                            CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
                                            领券
                                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档