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

相关推荐
2401_884810741 天前
git知识点
git
小牛itbull1 天前
从 Vercel 构建失败谈 Git 大小写敏感性问题:一个容易被忽视的跨平台陷阱
git
chainbees2 天前
Git账号配置 SSH 密钥
运维·git·ssh
Brian Xia2 天前
Lazygi - 让git操作不再困难
git
wdfk_prog2 天前
`git rm --cached`:如何让文件“脱离”版本控制
大数据·linux·c语言·笔记·git·学习·elasticsearch
Mark_Aussie2 天前
本地项目上传到Git仓库
git
骚饼3 天前
Git 命令配置别名、Git命令缩写(Mac版)
前端·git
SStone_TJ3 天前
【常用的git命令】
git
没有鸡汤吃不下饭4 天前
Git将某个分支合并到开发(dev)、测试(test)后突然想撤销该分支的功能,怎么处理?
前端·git·github
康一夏4 天前
git fatal:Server aborted the SSL handshake
git·网络协议·ssl