128 lines
3.3 KiB
Markdown
128 lines
3.3 KiB
Markdown
---
|
||
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命令可以使当前文件指向标签位置
|
||
|
||
```
|
||
|
||
|
||
|
||
|
||
|