配置用户名和邮箱
#配置全局用户名
git config --global user.name "名称"
#配置全局邮箱
git config --global user.email 邮箱
#查看全局配置信息
git config --global --list
#生成秘钥
shh-keygen -t rsa -C '邮箱地址'
#查看秘钥
cat ~/.ssh/id_rsa.pub
git init(创建Git版本库)
#创建目录 -p可以在父级目录不存在时候创建父级目录
mkdir -p test
#切换到test目录下
cd test
#创建版本库
git init
git clone(克隆远程版本)
#克隆远程项目
git clone git@gitee.com:zit_830/KDSLife.git
# 切换到项目
cd KDSLife
# 查看git提交日志
git log
git status(查看本地修改文件)
可以查看修改、删除、新增文件,包括添加到缓冲区的文件信息
#查看文件情况
git status
#文件情况简单显示
git status -s
git diff(比较文件变更内容)
可以查看本地某个文件变更内容,也可以查看本次所有文件变更内容
#查看本次所有文件变更内容
git diff
#查看指定文件变更内容
git diff filename.txt
#查看变更内容新增和修改行数
git diff --stat
#查看add之后的修改内容
git diff --cached
#查看commit之后的修改内容
git diff --staged
git checkout(撤销文件修改,切换分支)
可以完成撤销文件修改
切换分支
#撤销指定文件修改
git checkout -- src/filename.txt
#切换分支操作
#1. 查看所有分支
git branch -a
# 2. 切换本地分支, 切换分支到dev
git checkout dev
#3. 切换本地分支到远程分支,develop为本地分支,origin/develop为远程分支
git checkout -b develop origin/develop
# 创建本地分支develop
git checkout -b develop
git add(添加到缓冲区)
将修改、删除、新增文件添加到本地缓冲区中
可以添加指定的文件,或是目录、也可以通过正则匹配文件
#添加文件到缓冲区
git add filename.txt
git commit (将缓冲区内容提交到本地)
#将缓冲区内容提交到本地
git commit -m "本次提交内容简介"
git pull(更新远程代码到本地)
将远程代码更新到本地,并自动合并代码。如果修改过相同文件,则会导致冲突。需要解决冲突。
git pull
git push(推送本地记录到远程)
在执行推送之前,最好执行更新操作,有人提交代码之后,需要更新之后才能提交
git push
#推送本地分支,到远程分支
git push --set-upstream origin dev
git log(查看提交日志)
#查看提交日志
git log
#下面是本次提交ID, 可以根据ID进行版本回退,查看版本变更内容
#commit 4f10f9e951cc7c5662ba0e175ae85551baf7cf50
#下面是本次提交作者
#Author: WangGui <1064307626@qq.com>
#下面是本次提交时间
#Date: Sun Jun 20 18:45:57 2021 +0800
#下面是本次提交的信息
#添加
#退出查看日志, 输入 q
q
#查看指定文件提交的变化
git log -p filename
#查看某个文件提交的commit记录
git log -- filename
git show (查看版本变更信息)
版本变更,包含更次文件修改详情。如修改文件,新增文件、删除文件。包含文件内容的变更。
#显示最近一次提交记录的详情新
git show
#显示某次提交记录的 变更详情,其中commit-id,提交任务id
git show commit-id
git reset --hard(回退到指定版本)
#回退到指定的commit版本或撤销commit之后未push的版本
git reset --hard commit-id
#将回退的版本提交的远程服务器 dev为回退分支的名称
git push -f origin dev
git cherry-pick(合并分支某个commit-id到指定分支)
cherry-pick命令"复制"一个提交节点并在当前分支做一次完全一样的新提交
# 例如:dev下某个commit-id,需要合并到pro分支
#1. 切换到dev分支下,并查看log日志,找到对应的commit-id,并复制
#2. 切换到pro分支下,并执行下列命令
git cherry-pick commit-id
git branch(查看分支)
#查看本地分支
git branch
#查看本地分支和远程分支
git branch -a
git merge(分支合并)
#分支合并,先切换到合并分支,在merge 被合并的分支
git merge origin/dev
git tag(标签)
#查看所有tag
git tag
# 查看远程所有tag
git tag -l -n
# 更新tag代码到本地
git checkout -b tag_v1.0 tag_v1.0
#比较两个tag内容差异, 比较时无需更新到本地
git diff tag_v1.0 tag_v1.1
#比较两个tag文件差异,比较时无需更新到本地
git diff --name-only tag_v1.0 tag_v1.1