GIT快速上手(常用指令)

1. 修改用户信息

git config --global user.name nnnnnnnn

git config --global user.email mmmmmmmm@qq.com

注:填写自己实际的用户名(nnnnnnnn )和邮箱(mmmmmmmm@qq.com)

2. 生成SSH公钥

命令:ssh-keygen -t rsa -b 4096 -C "mmmmmmmm@qq.com"

生成的秘钥文件路径一般位于:

将秘钥文件(id_rsa.pub)内容拷贝出来,复制到平台的SSH公钥一栏【Gitee、Gitcode等代码托管平台都会有这么一栏】。

3. 拉取一个新的本地分支

A. 首先更新所有远端分支内容:git pull 或者 git fetch 或git fetch origin,这些指令区别如下:

|------------------|--------|--------|---------------|
| 命令 | 是否下载数据 | 是否自动合并 | 作用范围 |
| git fetch | 是 | 否 | 所有远程仓库 |
| git fetch origin | 是 | 否 | 仅 origin 远程仓库 |
| git pull | 是 | 是 | 默认当前分支的远程跟踪分支 |

合并本地分支,解决冲突:一般是新建一个目录同步,减少出错,好同步;或者是根据冲突内容进行删减(GIT会有标记,哪部分代码存在冲突,编译源代码会出错)。

git branch -a:查看所有分支,包括本地分支,远端仓库分支

B. 拉出一个本地分支

方式1:重命名本地分支名

命令格式:git checkout -b xxxxx(本地分支名) remotes/origin/xxx

指令示例:

cpp 复制代码
git branch -a

git checkout -b master_v1.1.1_0731 remotes/origin/master_v1.1.1 //拉分支

git branch -a //查看所有分支(确认是否拉取成功)

从远端分支remotes/origin/xxx 拉出一个本地分支版本,命名为xxxxx(本地分支名);成功拉取后,当前工作区间就位于这个本地分支上,如下图:

方式2:名称一致

也可以直接checkout出跟远端分支名一样的本地分支;但是要注意代码提交push的时候,指令有所区别。

注:方式1常用。

4. 代码提交

I. 如果本地分支名跟远端分支名不同:

命令格式为:git push origin 本地分支名:远端分支名

II. 如果拉出来的本地分支名跟远端分支名相同:

命令格式:直接 git push origin 本地分支名

5. 常用指令

(1) git 更新gitignore无效如何解决

重新编辑.gitignore之后,要从暂存区中删除之前被跟踪的文件:

指令是:git rm --cached -f xxxx

示例:

cpp 复制代码
git rm --cached -f cpu/wl82/tools/sdk.elf.0.0.preopt.bc

git add . //把rm这个操作也提交一次,之后文件才不会被跟踪

git commit -m "xxxx"

(2) 提交指令

cpp 复制代码
git add . //添加所有文件到暂存区

git add xxx //只添加xxx文件

git commit -m "标签"

(3) 查看提交历史

cpp 复制代码
git log //查看所有的历史提交

git log -10 //只查看最新的10条提交

git show + commit id //只查看这一条(commit id)修改

tig:增强型输出log

(4) 保存暂存区的修改

/* 这种方式在同步远端代码仓库的时候常用 */

I. git add + git stash 两条指令组合: 备份暂存区

II. git stash pop: 取出第一条备份。

相关推荐
会豪18 小时前
Git命令-图解-小白专享
git
韦禾水18 小时前
IntelliJ IDEA 2023更新git凭据
git·intellij idea
Yvonne爱编码19 小时前
构建高效协作的桥梁:前后端衔接实践与接口文档规范详解
前端·git·ajax·webpack·node.js
@CLoudbays_Martin1120 小时前
CDN是否能有效检测并且同时防御Ddos 和 CC 攻击?
java·服务器·网络·数据库·git·数据库开发·时序数据库
oscar9991 天前
Monorepo 全面解析:优势、挑战与适用场景
git·monorepo
龙之叶2 天前
Git Commit 生成与合入 Patch 指南
git
裸奔的大金毛2 天前
Tekton - 自定义镜像配置git仓库克隆
git·ci/cd·devops·tekton
Adorable老犀牛2 天前
可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
运维·git·vscode·python·node.js·自动化
xiaok2 天前
把代码上传到gitee的时候,怎么忽略node_modules文件夹
git·gitlab·github