Arnold's Blog Arnold's Blog
🏠首页
  • Java
  • Python
💻前端
🕸️周边技术
🗒️札记
  • Tips
  • 读书
  • 友情链接
🧑‍💻关于
🔖收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Arnold Shu

知人者智,自知者明。胜人者有力,自胜者强。
🏠首页
  • Java
  • Python
💻前端
🕸️周边技术
🗒️札记
  • Tips
  • 读书
  • 友情链接
🧑‍💻关于
🔖收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Maven

  • Git

    • Git常用命令以及概念
      • Git 团队协作实践(简化Git Flow开发流程)
      • Git 存储区域概念
      • Git 中一些常用选项解释
      • git 创建仓库
      • git 基本操作
      • git tag 命令相关
      • git merge 命令相关
      • git branch 命令相关
      • git config 命令相关
      • git reset 命令相关(本地和远程)
    • Git AloneFlow模式
  • Docker

  • Distributed

  • Linux

  • technology
  • Git
Arnold Shu
2020-12-24
目录

Git常用命令以及概念

# Git 团队协作实践(简化Git Flow开发流程)

git flow流程

# Git 存储区域概念

在这里插入图片描述 通俗说法

  • 工作区:就是当前所在的文件目录
  • 暂存区/缓存区:使用git add xx,就可以将xx添加到暂存区
  • 本地仓库:使用git commit xx,就可以将xx添加本地仓库
  • 远程仓库:使用git push 就可以将本地仓库推送到远程仓库

# Git 中一些常用选项解释

-d  --delete:删除

-D  --delete --force的快捷键

-f  --force:强制

-m  --move:移动或重命名

-M  --move --force的快捷键

-r  --remote:远程

-a  --all:所有
1
2
3
4
5
6
7
8
9
10
11
12
13

# git 创建仓库

git init
当前目录创建git仓库

git init newrepo
指定目录生成git仓库
1
2
3
4
5

# git 基本操作

git init
当前目录创建git仓库

git add .    
添加当前目录下所有文件到

git status 
查看仓库当前的状态,显示有变更的文件

git commit -m '第一次版本提交'
将暂存区内容添加到本地仓库中

1
2
3
4
5
6
7
8
9
10
11
12

# git tag 命令相关

git tag -a v1.0  
创建带注解的V1.0的标签(需要再次填写信息)

git tag -a <tagname> -m "标签信息"
创建带注解的V1.0的标签(git tag -a 的简化版,直接提交标签信息)

git tag
查看所有标签

git push origin <tagname>
推送本地标签到远程库

git tag -d tagname
删除本地tag

git push origin :refs/tags/tagname
删除远程tag
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# git merge 命令相关

git merge合并分支到主分支主要步奏
# 先切换到主分支(或即将被覆盖的分支)
git checkout master

# 将某个指定分支覆盖到当前分支
git merge <branch-name>

# 把本地分支更新到远程分支
git push origin <branch-name>
1
2
3
4
5
6
7
8
9

# git branch 命令相关

创建分支并推送到远程仓库
git branch branchname
创建分支

git branch (-m | -M) <oldbranch> <newbranch>
更新分支名称,-m -M 二选一

git push origin branchname
推送到远程分支

git branch -r 
查看远程分支

git branch
查看本地分支

git branch -a
查看本地和远程所有分支

git branch -d <branchname>
删除本地分支,其中<branchname>为本地分支名

git branch -d -r <branchname>
删除远程分支,其中<branchname>为本地分支名
报错 error: remote-tracking branch 'V2.0.2' not found

git push origin --delete <branchname>
第二种方式删除远程分支,其中<branchname>为本地分支名


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# git config 命令相关

git config --list --show-origin
查看所有的配置以及它们所在的文件

git config --list
检查配置信息,列出所有 Git 当时能找到的配置

git config --global --unset user.name
删除全局配置项user.name

it config --global --edit        
编辑配置文件修改user.email

git config --global user.name "定义名称"
添加user.name
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# git reset 命令相关(本地和远程)

在这里插入图片描述

本地版本回退
git reset --soft HEAD^
回退到上一个版本,保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区(通俗理解就是:你误提交的新增文件不会删除变为修改状态,你修改的文件内容还会存在且变为修改状态,你之前误提交的日志会删除)

git reset --mixed HEAD^
回退到上一个版本,mixed 为默认,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变(通俗理解就是:你误提交的新增的文件不会删除且变为未追踪状态,你修改的文件内容还会存在并且该文件变为修改状态,你之前误提交的日志会删除)

git reset --hard  HEAD^
回退到上一个版本,撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:(通俗理解就是:你误提交的新增的文件会删除,你修改的文件内容回抹除,你之前误提交的日志会删除)

远程版本回退
git reset --hard HEAD~1
本地回退到上一个版本
git push --force
推送当前分支当前版本到远程仓库分支(指定相关分支推送也可以:git push origin master -f,推送本地master分支到远程master)



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#git#版本控制
上次更新: 2024/03/22, 09:55:29
Maven扫盲
Git AloneFlow模式

← Maven扫盲 Git AloneFlow模式→

最近更新
01
《领域驱动设计:软件核心复杂性应对之道》书摘
12-26
02
Linux 的常用命令
10-22
03
程序设计中SPI和API
10-22
更多文章>
Theme by Vdoing | Copyright © 2017-2024 Arnold Shu | CC BY-SA 4.0 License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式