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: 取出第一条备份。

相关推荐
胖大和尚28 分钟前
当前仓库推送到同一台机器上的另一个文件夹
git
轮到我狗叫了1 天前
git - 版本控制工具 - 对应的常见命令 - 以及无需后续每次手动source conda
git
changxiang1 天前
GIT 备忘
git
DogDaoDao1 天前
Windows 开发提效工具全景指南:60+ 工具的工程化分层配置
windows·git·程序员·开发工具·powershell·everything·msys2
wdfk_prog2 天前
GitHub push 失败:如何扫描并清理 Git 历史中的大文件
git·elasticsearch·github
大明二代2 天前
使用 Traefik、cert-manager 和 DNS-01 为内网 Kubernetes 服务配置 HTTPS
git·kubernetes·flux
小芒果_012 天前
git常用命令速查
大数据·git·elasticsearch
2501_930472442 天前
腾讯云助手规范化Git提交记录
git·elasticsearch·腾讯云
风尘小子3 天前
git的.gitignore文件中文件和目录配置
git
Tanner_SL3 天前
Linux笔记之GIT常用命令
linux·git