Git学习——指令笔记

一、初始化配置

1.查看Git版本

git -v

2.配置用户名和邮箱

git config --global user.name "your name"
git config --global user.email "youremail@email.com"

3.保存用户名和密码

git config --global credential.helper store

4.查看配置信息

git config --global --list

二、新建仓库

方式一:在本地直接创建

1.创建一个空目录

mkdir learn-git //创建目录
cd learn-git  //进入learn-git目录

2.初始化learn-git目录

git init  //在learn-git目录下会生成一个隐藏文件夹“.git”,则本地仓库创建成功
ls -a  //可使用此命令来查看隐藏的文件(夹)

或者

在你选择的文件夹(learn-git)中使用此命令来创建一个本地仓库

git init my-repo  //my-repo为仓库名,可自定义

这样你的仓库是my-repo这个文件夹,learn-git只是存放你的仓库的路径。

方式二:克隆一个已经存在的仓库

使用git clone来克隆已经存在的仓库

git clone 要克隆的仓库地址,多为https或者ssh的地址

三、添加和提交文件

1.查看仓库状态

git status

2.添加到暂存区

git add 文件名
git add *.txt  //添加当前文件夹下所有后缀为.txt的文件到暂存区
git add .  //添加当前文件夹下所有文件到暂存区

3.提交

git commit  //提交
git commit -m "编辑提交信息,即为自定义备注"
git commit -am "编辑提交信息,即为自定义备注"  //同时完成添加到暂存区和提交的操作

4.查看仓库提交记录

git log 
git log --oneline  //简洁显示提交记录

四、回退版本

git reset 回退的目标版本ID
git reset --soft  回退的目标版本ID
git reset --hard  回退的目标版本ID
git reset --mixed  回退的目标版本ID  // =git reset 回退的目标版本ID

使用以上命令的区别在于回退后,工作区和暂存区是否存在“回退版本”之后的修改/操作/文件

工作区暂存区
git reset --soft存在存在
git reset --hard不存在不存在
git reset --mixed存在不存在

五、查看差异

命令对比空间
git diff工作区 VS 暂存区
git diff HEAD工作区+暂存区 VS 本地仓库
git diff --cached / git diff --staged暂存区 VS 本地仓库
git diff 版本1_ID 版本2_ID版本1_ID VS 版本2_ID
git diff HEAD~ HEAD上一个版本 VS 当前版本
git diff branch_name branch_name分支 VS 分支

六、删除文件

命令操作
git rm filename从工作区和暂存区同时删除文件
git rm --cached filename从暂存区中删除,工作区中保留
git rm -r *递归删除某目录下所有子目录和文件,删除后需要提交

七、.gitignore文件的匹配规则

  • 空行或以#开头的行会被Git忽略
  • 使用标准的glob模式匹配:* 通配任意个字符、? 匹配单个字符、[ ]匹配[ ]中单个字符([abc]表示a/b/c)
  • ** 匹配任意的中间目录
  • 中括号中可使用短线链接:[0-9] 表示任意一位数字,[a-z] 表示任意一位小写字母
  • !表示取反

八、关联本地仓库和远程仓库

1.添加远程仓库

git remote add <远程仓库别名> <远程仓库地址>

2.查看远程仓库

git remote -v

3.将本地仓库推送到远程仓库

git push -u origin main:main  //将本地仓库的main分支推送到别名为origin的远程仓库的main分支

4.拉取远程仓库到本地仓库

git pull origin main:main  //拉取别名为origin的远程仓库的main分支到当前所在的本地仓库的main分支

参数缺省

git pull  //默认拉取远程别名为origin的仓库的main分支到当前所在的本地仓库的main分支

5.配置SSH密钥

首次配置打算覆盖以前的配置

cd    //进入根目录
cd ./ssh   //进入ssh文件夹
ssh-keygen -t rsa -b 4096    //生成密钥
//接下来会让你输入密钥文件名,不输入直接回车
//接下来让你为密钥设置密码,不输入直接回车
ls -ltr   //查看当前文件夹下的文件,会有一个rsa.pub文件
vim rsa.pub   //打开该文件,复制里面的内容,然后在远程仓库的SSH配置中添加该密钥即可 

非首次配置不想覆盖以前的配置

cd    //进入根目录
cd ./ssh   //进入ssh文件夹
ssh-keygen -t rsa -b 4096    //生成密钥
//接下来会让你输入密钥文件名,例如“test”
//接下来让你为密钥设置密码,不输入直接回车
ls -ltr   //查看当前文件夹下的文件,会有一个test.pub文件
vim rsa.pub   //打开该文件,复制里面的内容,然后在远程仓库的SSH配置中添加该密钥
touch config   //创建一个config文件,如果当前文件夹下已存在则跳过此命令
vim config    //向config中添加以下命令,以test、github.com为例

向config中添加的内容:
Host github.com
HostnName github.com
PreferredAuthentications publicKey
IdentityFile ~/.ssh/test

6.关闭git的SSL证书验证

当你克隆一个仓库出现下面的报错时:

fatal: Could not read from remote reposity.

Please make sure you have the correct access rights
and the repository exists.

请尝试运行下面的代码:

git config --global http.sslverify false

九、分支的操作

1.查看分支

git branch

2.创建分支

git branch branch_name

3.切换分支

git checkout branch_name
git switch branch_name  //推荐使用

4.合并分支

git merge branch_name

5.删除分支

git branch -d branch_name  //删除已合并的分支
git branch -D branch_name  //删除未合并的分支

6.解决合并冲突

解决方法

  1. 手工修改冲突文件,合并冲突内容
  2. 添加暂存区 git add file
  3. 提交修改 git commit -m "your text"

终止合并

git merge --abort

十、标签操作

1.查看标签

(1)列出所有标签

git tag
git log --oneline

(2)列出匹配标签

git tag -l 'v1*'  //列出标签名称中包含‘v1’的所有标签

(3)显示特定标签的细节

git show <tag_name>

2.创建标签

(1)轻量标签

git tag <tag_name>

(2)注释标签

git tag -a <tag_name> -m <note information>

(3)后期打标签

git tag -a <tag_name> -m <note information> <commitID>

3.删除标签

(1)删除本地仓库标签

git tag -d <tag_name>

(2)删除远程仓库标签

git push origin -d tag <tag1_name> <tag2_name>  //origin is your repo alias

4.推送标签

(1)一个或者部分标签

git push origin <tag1_name> <tag2_name> ...  //origin is your repo alias

(2)推送全部标签

git push origin --tags //origin is your repo alias
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没伞的行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值