blog/git常用命令.md

128 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

2023-07-12 07:08:58 +00:00
---
title: git常用命令
date: 2021-08-12 17:22:28
tags: git
---
+++
## 1. git基本配置
### 1.1 配置邮箱和用户名
```
# 这里的“huoxue1" 可以替换成自己的用户名
git config --global user.name "huoxue1"
# 这里的邮箱 123456@163.com 替换成自己的邮箱
git config --global user.email "123456@163.com"
```
### 1.2 生成ssh密钥
```
# 这里的邮箱 123456@163.com 替换成自己的邮箱
ssh-keygen -t rsa -C "123456@163.com"
```
默认密钥存储位置为 “C:\\\Users\你的用户名\.ssh\”
### 1.3 配置到github
将id_rsa.pub的内容复制下来然后在github的setting里面配置
## 2. 基本使用
### 2.1.初始化项目
```apl
git init #初始化项目git配置
git remote add origin git@github.com:huoxue1/LeafBot.git # 关联远程仓库将远程仓库命名为origin
```
```apl
# 也可以直接clone远程仓库
git clone git@github.com:huoxue1/leafBot.git
```
### 2.2. 提交本地更改
```apl
git add . # .代表提交所有修改的文件,可以替换成对应的文件或者通配符
git commit -m “ 第一次提交” # m参数表示对这次提交的描述
git push -u origin master # 表示将本地当前分支内容提交的远程的master分支第一次使用之后以后可以直接git push
```
### 2.3. 分支管理
+ 一般项目会将master或者main作为主要分支
+ 然后开发者会在dev分支进行开发当需要发布版本时合并到主分支发布版本
+ 当线上版本出现bug需要修复时会创建一个fix分支进行修复修复完后将其合并到主分支然后删除fix分支
```apl
git branch # 查看本地所有分支
git branch -a # 查看所有分支,包括远程分支
git checkout dev # 创建一个dev分支
git checkout -b dev # 创建一个dev分支并切换到该分支
git branch set-upstream dev origin/dev # 把本地dev分支各远程dev分支进行关联
git merge --no-ff dev # 将dev分支合并到当前分支使用--no-ff参数后会执行正常合并在当前分支上生成一个新节点
```
### 2.4. tag管理
+ git作为版本管理可以在特定时刻为其打上标签
+ Git 支持两种标签轻量标签lightweight与附注标签annotated
轻量标签很像一个不会改变的分支——它只是某个特定提交的引用。
而附注标签是存储在 Git 数据库中的一个完整对象, 它们是可以被校验的,其中包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard GPG签名并验证。 通常会建议创建附注标签,这样你可以拥有以上所有信息。但是如果你只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,那么也可以用轻量标签。
```apl
git tag -a v1.0 -m "我的第一个标签"
# -a表示为附注标签-m表示为其加上描述
git tag v1.1
# 默认为轻量标签
git tag show v1.0 #使用git tag show可以显示标签的信息
git push origin v1.0 # 将本地标签提交到远程成为共享标签
git tag -d <tagname> # 删除本地标签
git push origin --delete <tagname> # 删除远程标签
git checkout v1.0 # checkout命令可以使当前文件指向标签位置
```