嵌入式基础-git命令的使用
QQ群-名称:嵌入式交流 ;群号:933192343;微信号:WangMing_GZ
在使用以下命令时,除了admin和admin@qq.com的双引号(“”)要加上,其他命令的双引号都不用添加的,文章上的双引号只是用于说明。
GitName:git服务器连接
BranchName:分支名称
FileName:代码文件名称
CommitId:提交节点名称
NewBranch:新分支名称
OldBranch:旧分支名称
admin:用户名称
admin@qq.com:邮箱名称
认真观看名词注释,下面文档会使用
使用git之前要先搭建Ubuntu的ssh环境
# 生成公钥和私钥 #
ssh-keygen -t rsa -C "admin@qq.com"
eval "$(ssh-agent -s)"
ssh-add
1.连接到git服务
<< BLOCK
# 连接到git服务器有两种方法
# 1.直接clone服务器的git
# 2.先在本地初始化,然后远程连接git
# 目前建议大家使用第一种方法
BLOCK
# 1.直接clone服务器的git,在存放代码的路径下输入命令 #
git clone "GitName"
# 2.先在存放代码的路径下初始化,然后远程连接git #
# 初始化 #
git init
# 远程连接git #
git remote add origin "GitName"
# 删除服务器仓库 #
git remote rm origin
# 更新分支信息 #
git fetch
# 切换到要修改的分支 #
git checkout "BranchName"
2.git的实际使用说明
<< BLOCK
# git config使用说明
# 1.使用git之前要设置自己的用户信息,查看代码时可以知道是谁提交的
# 2.查看个人配置
# 3.查看当前连接的git服务器
# 4.设置git commit的文本为vim(在Ubuntu下要使用到)
BLOCK
# 1 #
git config --global user.name "admin"
git config --global user.email "admin@qq.com"
# 2 #
git config --list
# 3 #
git config --list |grep remote
# 4 #
git config --global core.editor vim
<< BLOCK
# git brach使用说明
# 1.查看当前分支名称
# 2.新建分支
# 3.查看所有分支名称
# 4.删除分支(慎用),目前开发基本没用到
BLOCK
# 1 #
git branch
# 2 #
git branch "BranchName"
# 3 #
git branch -a
# 4 #
git branch -D "BranchName"
<< BLOCK
# git checkout有两种使用场景
# 1.切换分支#
# 2.还原当前代码文件到上一个提交点 #
BLOCK
# 1 #
git checkout "BranchName"
# 2 #
git checkout "FileName"
# 当前git的所有状态,可以查看代码文件的所有改动 #
git status
# 查看当前代码和原代码的区别 #
git diff "FileName"
# 提交代码,输入命令后写入修改点,按照更新点1,2,3...写说明,只有一点则不用加序号 #
git commit
# 从git服务器拉取最新的改动 #
git pull origin "BranchName"
# 把BranchName分支的代码提交到服务器 #
git push origin "BranchName"
# git倒退到某个提交节点,出现重大bug时会使用到 #
git reset --hard "CommitId"
# 将本地分支oldbranch切一个分支到本地 #
git branch -m "OldBranch" "NewBranch"
# 删除远程分支(慎用,因为会删除服务器的分支) #
git push --delete origin "OldBranch"
# 将本地新分支推送到远程 #
git push origin "NewBranch"
# 新建一个没有git log的分支 #
git checkout --orphan "NewBranch"
<< BLOCK
# 不同分支代码合并
# 1.查询git log分支的哈希#
# 2.合并固定的节点 #
# A为开始的哈希,B结束的哈希 #
BLOCK
# 1 #
git log --graph --oneline --decorate --after="2022-8-24"
# 2 #
git cherry-pick A..B
3.git的初步使用
先在github上注册账号后再创建一个git仓库,然后在Ubuntu或者Windows下使用相关命令去实现代码文件的提交,我是在Ubuntu下实现;
样例为本地git初始化,然后远程连接git仓库,最后再提交文件
cd ~
mkdir git_test
cd git_test
git init
git remote add origin "git@github.com:xxxx.git"
# 同步的时候要把ssh的公钥设置好 #
git featch
# 切换到master分支 #
git checkout master
# 要提交的代码文件,下面会有文件内容 #
vi git_test.c
# 将文件加到提交缓存 #
git add git_test.c
# 提交文件 #
git commit
# 默认的分支名称为master #
git push origin master
git_test.c 内容
#include <stdio.h>
int main()
{
printf("git test\n");
return 0;
}
具体命令流程
<< readme
# 新创建git_test目录
# 然后进入git_test目录
# 在git_test目录进行初始化
# git fetch,拉取git服务器上的所有分支信息
# git add为添加提交的文件
# git commit为提交信息
# git push origin为提交对应的分支
readme
mkdir git_test
cd git_test
git init
git remote add oringin git@xxxxxxxx/git
git fetch
git add git_test.c
git commit -m "git push test"
git push origin xxxxx
4.git注释上传格式
git注释要清晰表达更新了某IOT平台,某芯片平台,某客户和某产品型号;更新点要清晰说明更新了什么功能。
<< BLOCK
单项目例子:
#############################
某IOT平台某芯片平台某客户某产品型号:
1.XXXXX
2.XXXXXX
#############################
BLOCK
<< MORE
多项目例子:
#############################
A-某IOT平台某芯片平台某客户某产品型号:
1.XXXXX
2.XXXXXX
B-某IOT平台某芯片平台某客户某产品型号:
XXXXX
#############################
MORE
5.将多个git历史压缩为一个日志
<< readme
这条命令不建议新手使用
这个是用于生产环境
readme
git checout "OldBranch"
git merge --squash "NewBranch"