Git 使用记录

535 阅读3分钟

这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战

各平台安装包下载地址

Windows平台下载地址

国内镜像

菜鸟教程

Git配置

配置文件(gitconfig)

# 配置全局的用户名和邮箱   不加global表示局部有效  
$ git config --global user.name "A"
$ git config --global user.email A@gmail.com

# 针对当前仓库 
$ git config -e    

查看所有配置信息

$ git config --list
http.postbuffer=2M
user.name=A
user.email=A@gmail.com

查看单个配置信息

$ git config user.name
A

Git工作流程

https://www.runoob.com/git/git-workflow.html 工作中流程:

  • 1 克隆代码到本地目录.
  • 2 在本地代码中添加或修改文件.
  • 3 其他人修改了代码,可以pull代码,查看最新代码.
  • 4 提交前先下拉最新代码,有冲突,先解决.
  • 5 提交代码,如发现提交代码有问题,可以回滚,修改问题,再次提交代码.

Git创建仓库

# 初始化仓库
git init

# 指定目录初始化仓库
git init fileName

# 初始化仓库之后,会生成一个.git目录,里面存放仓库操作记录

# 添加README文件
$ git add README

# 添加以.c结尾的文件
$ git add *.c

# 添加注释信息			Linux中-m后面使用单引号'' / Windows中使用双引号""
$ git commit -m "初始化项目"

Git克隆仓库

# 直接克隆仓库到当前地址
git clone 仓库地址

# 克隆仓库到指定目录
git clone 仓库地址 指定目录

# 以RocketMQ仓库为例  https://github.com/apache/rocketmq.git
git clone https://github.com/apache/rocketmq.git D:\workspace\rocketmq

Git基本操作

graph LR
A[workspace] -->|add|B(staging area)
B[staging area] -->|commit|C(local repository)
C[local repository] -->|checkout|A(workspace)
D[remote repository] -->|fetch/clone|C(local repository)
C[local repository] -->|push|D(remote repository)
D[remote repository] -->|push|A(workspace)

说明:

  • workspace 工作区
  • staging area 缓存区
  • local repository 本地仓库
  • remote repository 远程仓库
# 基础操作
git init 	# 初始化仓库
git clone	# 克隆仓库
git add 	# 添加文件到仓库
git status	# 查看仓库状态, 显示有变更的文件
git diff	# 比较文件的不同, 暂存区和工作区差异
git commit	# 提交代码到本地仓库
git reset	# 回退版本
git rm		# 删除工作区文件
git mv		# 移动活重命名文件
git log		# 查看历史提交记录
git blame <file>	# 以列表形式查看指定文件的历史修改记录
git remote	# 远程仓库操作
git fetch	# 从远程获取代码
git pull	# 下载远程代码并合并
git push	# 上传远程代码并合并

Git分支管理

# 创建分支  branchname分支名
git branch branchname

# 切换分支
git checkout branchname

# 合并分支  合并分支到当前分支  
# 一般是把dev分支合并到master分支  先切换到master分支,再合并dev分支
git merge branchname

# 查看本地所有分支
git branch

# 删除分支
git branch -d branchname

Git查看提交历史

# 查看历史提交记录
git log [可选参数]

# 参数
--oneline	# 查看历史提交记录简洁版本
--graph		# 查看历史中什么时候出现分支,合并
--reverse	# 逆向显示所有日志
--author=Xxx# 查看指定用户提交日志
--since		# 时间前
--before	# 时间前
--until		# 时间后
--after		# 时间后

# 以列表形式查看指定文件的历史修改记录
git blame <file> 

Git标签

# 创建一个标签(不推荐,不会标签,时间,创建人)
git tag -a

# 创建一个带注解的标签(推荐使用)
git tag -a v1.0

# 给之前提交追加标签  后面加上提交的记录码 85fca1a2
git tag -a v0.9 85fca1a2

# 查看所有标签
git tag
v0.9
v1.0

# 指定标签信息
git tag -a tagname -m "第一次打标签"

# PGP签名标签命令
git tag -s tagname -m "第一次打标签"

Git Gitee/Git Github使用

创建SSH连接

先查看本地是否存在秘钥,存在直接使用.(C盘\用户\本机用户名\.ssh目录下是否存在id_rsaid_rsa_pub)

1 打开Git Bash 输入创建命令

# 直接创建
ssh-keygen

# 带注释创建		-t指定秘钥类型,默认SSH-2的RSA密钥  -C 注释信息
ssh-keygen -t rsa -C "youremail@example.com"

2 将SSH添加到版本管理仓库

将id_rsa_pub文件,用文本打开,复制内容,添加到Gitee仓库公钥中

基本操作

# 关联远程仓库
git remote add origin  远程仓库地址

# 查看远程库信息
git remote -v

# 删除远程库
git remote rm origin

# 同时关联Gitee库和Github库  可以,但是给远程仓库取名要不相同,不能都为origin
git remote add github	git@github.com:xxx
git remote add gitee	git@gitee.com:xxx

# 推送代码时 要区分远程仓库名
git push github master
git push gitee master