Git常用命令

1 Git 工作流程

workspace:工作区
statging area:暂存区
local repository:版本库(或常称为本地仓库)
remote repository:远程仓库
在这里插入图片描述

2 Git 配置和首次提交

1)获取密钥

生成 RSA 密钥

ssh-keygen -t rsa

获取 RSA 公钥内容,并配置到 SSH 公钥中

cat ~/.ssh/id_rsa.pub

2)Git 全局设置

git config --global user.name "你的姓名"
git config --global user.email "你的邮箱"
git config --global --list

3)首次提交(没有仓库)

mkdir code
cd code
git init 
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:XXX.git
git push -u origin "master"

4)首次提交(已有仓库)

cd existing_git_repo
git remote add origin git@gitee.com:XXX.git
git push -u origin "master"

3 Git 常用命令

初始化git仓库

git init

克隆远端代码

git clone git@gitee.com:XXX.git

拉取代码

git pull origin master

比较工作区与暂存区的差异

git diff                              # 查看工作区和暂存区之间所有的文件差异
git diff -- 文件名                     # 查看具体某个文件 在工作区和暂存区之间的差异
git diff -- 文件名1 文件名2 文件名3      # 查看多个文件在工作区和暂存区之间的差异

比较工作区和版本库的差异

git diff HEAD                                 # 查看工作区与最新版本库之间的所有的文件差异
git diff 具体某个版本                           # 查看工作区与具体某个提交版本之间的所有的文件差异
git diff HEAD -- 文件名                        # 查看工作区与最新版本库之间的 指定文件名的文件差异
git diff HEAD -- 文件名1 文件名2 文件名3         # 查看工作区与最新版本库之间的 指定文件名的多个文件差异
git diff 具体某个版本 -- 文件名                  # 查看工作区与具体某个版本之间的 指定文件名的文件差异
git diff 具体某个版本 -- 文件名1 文件名2 文件名3   # 查看工作区与最具体某个版本之间的 指定文件名的多个文件差异

比较暂存区和版本库的差异

git diff --cached                                  # 查看暂存区和 上一次提交 的最新版本(HEAD)之间的所有文件差异
git diff --cached 版本号                            # 查看暂存区和 指定版本 之间的所有文件差异
git diff --cached -- 文件名1 文件名2 文件名3         # 查看暂存区和 HEAD 之间的指定文件差异
git diff --cached 版本号 -- 文件名1 文件名2 文件名3   # 查看暂存区和 指定版本 之间的指定文件差异

比较不同版本库之间的差异

git diff 版本号1 版本号2                    # 查看两个版本之间的差异
git diff 版本号1 版本号2 -- 文件名1 文件名2   # 查看两个版本之间的指定文件之间的差异
git diff 版本号1 版本号2 --stat             # 查看两个版本之间的改动的文件列表
git diff 版本号1 版本号2 src                # 查看两个版本之间的文件夹 src 的差异

查看仓库状态
A: 本地新增的文件(服务器上没有)
C: 文件的一个新拷贝
D: 本地删除的文件(服务器上还在)
M: 文件的内容或者mode被修改了
R: 文件名被修改了
T: 文件的类型被修改了
U: 文件没有被合并(需要完成合并才能进行提交)
X: 未知状态(很可能是遇到了git的bug,可以向git提交bug report)

git status -s

添加到暂存区

git add [file1] [file2]...   # 添加一个或多个文件到暂存区
git add [dir]                # 添加目录到暂存区
git add .                    # 添加当前目录下的所有文件到暂存区

提交到版本库

git commit -m 'message'          # 将所有改动自动添加到提交中
git commit --amend               # 将新更改追加到上一次提交中(此时会打开编辑器让你输入新提交消息)
git commit --amend --no-edit     # 将新更改追加到上一次提交中(不提交消息)

推送到远程仓库

git push origin master
git push origin HEAD:refs/for/dev_trunk

生成补丁

git diff > test.patch

打补丁

patch -p0 < test.patch
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值