
嵌入式基础-git命令的使用一、连接到git服务二、git的实际使用说明三、git的初步使用四、git注释上传格式五、将多个git历史压缩为一个日志实践使用QQ群-名称嵌入式交流 群号933192343在使用以下命令时除了admin和adminqq.com的双引号 要加上其他命令的双引号都不用添加的文章上的双引号只是用于说明。GitNamegit服务器连接BranchName分支名称FileName代码文件名称CommitId提交节点名称NewBranch新分支名称OldBranch旧分支名称admin用户名称adminqq.com邮箱名称认真观看名词注释下面文档会使用使用git之前要先搭建Ubuntu的ssh环境# 生成公钥和私钥ssh-keygen-trsa-Cadminqq.comeval$(ssh-agent-s)ssh-add# 查看公钥命令cat~/.ssh/id_rsa.pub# 修改git commit时使用的工具为vimgitconfig--globalcore.editorvim# 设置中文路径直接显示gitconfig--globalcore.quotepathfalse查询公钥内容一、连接到git服务BLOCK # 连接到git服务器有两种方法 # 1.直接clone服务器的git # 2.先在本地初始化然后远程连接git # 目前建议大家使用第一种方法 BLOCK# 1.直接clone服务器的git在存放代码的路径下输入命令 #gitcloneGitName# 2.先在存放代码的路径下初始化然后远程连接git ## 初始化 #gitinit# 远程连接git #gitremoteaddoriginGitName# 删除服务器仓库 #gitremotermorigin# 更新分支信息 #gitfetch# 切换到要修改的分支 #gitcheckoutBranchName# 修改git仓库的urlgitremote set-url originGitName二、git的实际使用说明BLOCK # git config使用说明 BLOCK# 1.使用git之前要设置自己的用户信息查看代码时可以知道是谁提交的 #gitconfig--globaluser.nameadmingitconfig--globaluser.emailadminqq.com# 2.查看个人配置 #gitconfig--list# 3.查看当前连接的git服务器 #gitconfig--list|grepremote# 4.设置git commit的文本为vim在Ubuntu下要使用到 #gitconfig--globalcore.editorvimBLOCK # git brach使用说明 BLOCK# 1.查看当前分支名称 #gitbranch# 2.新建分支 #gitbranchBranchName# 3.查看所有分支名称 #gitbranch-a# 4.删除分支慎用目前开发基本没用到 #gitbranch-DBranchNameBLOCK # git checkout有两种使用场景 BLOCK# 1.切换分支 #gitcheckoutBranchName# 2.还原当前代码文件到上一个提交点 #gitcheckoutFileName# 当前git的所有状态可以查看代码文件的所有改动 #gitstatus# 查看当前代码和原代码的区别 #gitdiffFileName# 提交代码输入命令后写入修改点按照更新点123...写说明只有一点则不用加序号 #gitcommit# 从git服务器拉取最新的改动 #gitpull originBranchNamegitpull--rebaseoriginBranchName# 把BranchName分支的代码提交到服务器 #gitpush originBranchName# git倒退到某个提交节点出现重大bug时会使用到CommitId为 git log 命令的commit哈希值 #gitreset--hardCommitId# 搭配 git reset 命令使用用于删除服务器的仓库慎用 #gitpush originBranchName--force# 将本地分支oldbranch切一个分支到本地 #gitbranch-mOldBranchNewBranch# 删除远程分支慎用因为会删除服务器的分支 #gitpush--deleteoriginOldBranch# 同步git远程仓库分支信息gitremote update origin--prune# 将本地新分支推送到远程 #gitpush originNewBranch# 新建一个没有git log的分支 #gitcheckout--orphanNewBranchBLOCK # 不同分支代码合并 BLOCK# 1.查询git log分支的哈希 #gitlog--graph--oneline--decorate--after2022-8-24# 2.合并固定的节点 ---- A为开始的哈希B结束的哈希 #gitcherry-pick A..Breadme # 设置Tab显示为4个字符的宽度用于git diff代码展示 readmegitconfig--globalcore.pagerless -x1,5readme # git tag相关说明 readme# 1.创建轻量标签 #gittag xxx# 2.推送所有标签到远程仓库 #gitpush origin--tags# 3.查看所有标签 #gittag# 4.删除远程标签 #gitpush origin--deletexxx# 5.删除本地标签 #gittag-dxxx# 6.切换到标签内容 #gitcheckout xxx# 7.拉取所有远程标签 #gitfetch--tags# 8.创建带信息说明的标签 #gittag-axxx-mxxxreadme # git stash相关使用说明 readme# 1.将当前代码修改放到暂存区 #gitstash savexxx# 2.查看当前暂存区列表 #gitstash list# 3.恢复指定的暂存区内容 #gitstash apply stash{x}# 4.清除指定的暂存区内容 #gitstash drop stash{x}# 5.清除所有暂存区 #gitstashclear三、git的初步使用先在github上注册账号后再创建一个git仓库然后在Ubuntu或者Windows下使用相关命令去实现代码文件的提交我是在Ubuntu下实现样例为本地git初始化然后远程连接git仓库最后再提交文件cd~mkdirgit_testcdgit_testgitinitgitremoteaddorigingitgithub.com:xxxx.git# 同步的时候要把ssh的公钥设置好 #gitfeatch# 切换到master分支 #gitcheckout master# 要提交的代码文件下面会有文件内容 #vigit_test.c# 将文件加到提交缓存 #gitaddgit_test.c# 提交文件 #gitcommit# 默认的分支名称为master #gitpush origin mastergit_test.c内容#includestdio.hintmain(){printf(git test\n);return0;}具体命令流程# 新创建git_test目录mkdirgit_test# 然后进入git_test目录cdgit_test# 在git_test目录进行初始化gitinit# 连接远程仓库 #gitremoteaddoringin gitxxxxxxxx/git# git fetch,拉取git服务器上的所有分支信息gitfetch# git add为添加提交的文件gitaddgit_test.c# git commit为提交信息gitcommit-mgit push test# git push origin为提交对应的分支gitpush origin xxxxx四、git注释上传格式git提交注释做划分每次只上报一条修改内容便于后续寻找修改记录readme 例子 ############################# Modified_20250902_1956这只是例子后续要补充实际修改内容 ############################# readme五、将多个git历史压缩为一个日志readme 这条命令不建议新手使用 这个是用于生产环境 readmegitchecoutOldBranchgitmerge--squashNewBranch实践使用# 查看远程仓库的提交记录找到目标 commit 的哈希值gitlogBranchName# 使用 git cherry-pick 将该 commit 应用到当前分支gitcherry-pickcommit_hash# 如果有冲突解决冲突后执行以下命令完成操作gitcherry-pick--continue