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

相关推荐
stevenzqzq19 小时前
git 常用操作
大数据·git
Curvatureflight21 小时前
Git工作流最佳实践:从混乱到优雅
git
wu~97021 小时前
GitHub永不遗忘,使用git push -f来覆盖的提交依旧保留
git·github
Vermouth_001 天前
git clone的时候提示access denied
git
qq_437657271 天前
清楚本地的git并重新登录
git
jiang_changsheng1 天前
工作流agent汇总分析 2
java·人工智能·git·python·机器学习·github·语音识别
顶点多余1 天前
版本控制器-git
linux·git
夔曦1 天前
Git工程日常下拉/上传完整流程(自用)
git
岱宗夫up1 天前
GitHub Desktop如何设置中文?这不是个简单问题
git·github
岱宗夫up1 天前
.env 文件是干啥的?为什么不能提交到 Git?
大数据·git·elasticsearch·搜索引擎·gitee·github·gitcode