硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1166|回复: 15
收起左侧

[辅助工具] 使用git和gitee管理自己的单片机项目,完全小白向,入门

  [复制链接]

2

主题

37

回帖

48

积分

新手上路

积分
48
发表于 2023-10-16 12:01:02 | 显示全部楼层 |阅读模式
本帖最后由 weinizhongqing 于 2023-10-16 20:35 编辑

1.前言
日常开发中经常会碰见昨天修改的东西没改完,今天来改的话感觉这个方面不适合,又想回退到昨天的版本的苦恼。(可能本人比较菜)
还有一些自己保存的参考和学习demo但是没带在身边就希望有个云台来帮助自己

2.下载git和注册gitee
https://git-scm.com/download/win
傻瓜式安装。

3.版本管理
简单理解为git工具的管理就是在本地创建了一个缓存
3.1比如我想将这个学习文件夹做一个版本管理,比如“什么时候添加了什么demo”
打开basehere

打开git base here

打开git base here


3.2输入命令初始话自己的仓库,相当于创建和初始化缓存区的意思
git init

3.3输入命令设置提交全局的用户名及邮箱

git config --global user.name "用户名"
git config --global user.email "邮箱"

这边我是配置了自己的用户名和邮箱
gitUser.png

3.4添加文件到缓存区
add .
这个名字是添加当前目录下所有文件。自己也可选择文件,中间可使用Tab来补齐。这边是笔者添加的是白老师"us级别调度"的demo

gitAdd.png
3.5添加版本注释

git commit -m '
1.xxx
2.xxx
'

可以使用shift和enter来换行

gitCommit.png
3.6查看版本信息
git log

查看历史信息
git reflog

gitLog.png

3.7添加文件以便3.8切换版本
我们这边在"us级别调度"添加一个txt测试一下版本切换,记得回到目录下。
gitTxt.png
输入上面的3.4-3.6的命令
gitCommit2.png
3.8经过3.7的操作,这边已经显示了两个版本,我们输入以下命令切换到最开始的版本
git reset --hrad xxx(版本前面索引,一般4-5个数字就行了,主要能区别出来没有和其他版本重复)
gitReset.png
可见当前已经回退到没有添加txt的版本,同理切换其他版本也是一样的
gitResetFile.png

4.应用gitee云来管理自己的代码(github同理),这边的话主要是我这边梯子质量有点不好,就不举例了
4.1确定自己的邮箱设置为以下,因为我们需要命令行来控制,不然会失败。(之前卡了我几个小时)
giteeMail.png
4.2新建仓库,这边我们需要干净的仓库环境,根据自己需求选择。
giteeCreat.png
4.3链接自己的gitee仓库(可使用shift+Insert粘贴)
4.4从git缓存区push到gitee,为主分支上传代码
按照两条tips来实现就可,如果需要登录账号密码,账号是自己的邮箱,密码是注册gitee的密码。(没记错的话)
gitTips.png
4.5可以看到这边已经同步成功了,可以从gitee的仓库的统计的提交查看自己的提交记录
gitSu.png
4.6如果想从云端仓库拉取到本地,可使用下面命令行
git pull origin

5.下载别人的代码
这边举例一下白老师的h7tool
5.1克隆h7tool
gie clone xxx(复制的链接)
giteeH7tool.png
这边可以看到已经成功了
giteeH7clone.png
5.2查看是否有更新(这个还是有必要的,可以看看自己拉取的代码是否更新,特别是官方的ui和lwip和一些rtos的代码)
首先cd进入我们拉取代码的路径,这边是h7tool
接着输入git remote show origin
gitUpdate.png
这边显示最新的了
如有更新可以拉取更新自己的本地
git pull origin


6.写在后面
这边的话基本的使用分享已经结束了
其实本人还想继续了解多人管理的情况,还有分支的各种情况,如果懂的大佬欢迎赐教,感激不尽
附录带git的一些相关命令。


经过楼下大哥提点,这样子还是比较麻烦。这里附一篇很好的git gui使用git的说明。
这样子的优点更加简便,还不用敲写命令,还看得见版本修改历史。感谢大哥赐教,多学习了一点
https://github.com/FrankFrankWei/git-gui-tutorial-article/blob/master/git-gui-tutorial-done-remote.md









git.txt

2.57 KB, 下载次数: 7

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

2

主题

269

回帖

275

积分

高级会员

积分
275
发表于 2023-10-16 14:53:34 | 显示全部楼层
明明你装了git gui怎么不用,普通提交缓存push压根不用命令。
最重要可以检查修改原码的地方
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-10-16 15:30:52 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

2

主题

37

回帖

48

积分

新手上路

积分
48
 楼主| 发表于 2023-10-16 19:51:55 | 显示全部楼层
cctv180 发表于 2023-10-16 14:53
明明你装了git gui怎么不用,普通提交缓存push压根不用命令。
最重要可以检查修改原码的地方

感谢大佬回复,我这边也是刚刚接触使用没多久,只会这么使用,本意还是交流。您说的git gui还有检查代码是如何使用的呢?有什么比较明了的教程推荐一下嘛,我这边也去学习一下
回复

使用道具 举报

2

主题

37

回帖

48

积分

新手上路

积分
48
 楼主| 发表于 2023-10-16 20:08:10 | 显示全部楼层
cctv180 发表于 2023-10-16 14:53
明明你装了git gui怎么不用,普通提交缓存push压根不用命令。
最重要可以检查修改原码的地方

大佬请教一下,我刚刚使用了git gui去看版本历史变动。有没有按照整体文件夹可以查看那些文件是否变化的选项。而非只在文件代码中查看代码变动。毕竟一开始是看整体的
回复

使用道具 举报

19

主题

234

回帖

291

积分

高级会员

积分
291
发表于 2023-10-17 09:38:19 | 显示全部楼层
装个小乌龟,改动的文件和文件夹会有标识的
屏幕截图 2023-10-17 093715.png
回复

使用道具 举报

2

主题

72

回帖

83

积分

初级会员

积分
83
发表于 2023-10-17 11:02:51 | 显示全部楼层
个人感觉,用VSCODE + git 插件管理最方便
回复

使用道具 举报

3

主题

46

回帖

55

积分

初级会员

一个极客ageek

积分
55
发表于 2023-10-17 11:14:59 | 显示全部楼层
vscode自带的就很好用,可以查到每个文件不同版本下每行代码的差异。 1697512402237.png
回复

使用道具 举报

75

主题

684

回帖

909

积分

金牌会员

积分
909
发表于 2023-10-17 11:50:48 | 显示全部楼层
小乌龟git了解一下

评分

参与人数 1金币 +20 收起 理由
KK-1 + 20 很给力!

查看全部评分

回复

使用道具 举报

9

主题

81

回帖

113

积分

初级会员

积分
113
发表于 2023-10-17 13:39:07 | 显示全部楼层
感谢楼主分享。git是软件工程中版本管理领域的一把利器。我也喜欢用命令行的方式,因为window上git bash实现了bash shell的很多好用的命令。


在此分享一些Git Bash以及git命令行的小技巧:
一、配置Git Bash
配置文件路径:“C:\\'Program Files'\\Git\\etc\\bash.bashrc
我把常用的命令用alias简写了,提高使用效率。
[XML] 纯文本查看 复制代码
# some git aliases
alias gs='git status'
alias gb='git branch'
alias gcb='git checkout -b'
alias gl='git lg'
alias gc='git checkout'
alias gcm='git commit -m'
alias ga='git add .'

说明一下:git lg是alias了git的指令,后面会说到,属于自定义的log输出。

二、配置Git代理
有时候我们拉取git hub很慢,使用了梯子。
[XML] 纯文本查看 复制代码
git config --global http.proxy [url]http://127.0.0.1:7890[/url]
git config --global https.proxy [url]https://127.0.0.1:7890[/url]


三、自定义git log
以下配置给"git log"取了个别名"git lg",加上前面我们在Bash里把"git lg" alias成了"gl"。后面直接使用“gl”命令就能查看到好看的日志了。
[XML] 纯文本查看 复制代码
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"


四、美化Git Bash
右击Git Bash窗口的标题栏,可以配置主题、背景透明、字体等等,自己探索吧~

五、克隆项目时同时克隆子模块
带上--recursive参数。
[XML] 纯文本查看 复制代码
git clone --recursive [url]https://github.com/xboot/xboot.git[/url]


六、Git使用过程中的注意点
- git是增量式管理修改的,类似patch文件。因此,切分支的成本是非常非常低的。所以,当哪天想回退代码时,一定要切个分支备份一下。
- 不要养成"git checkout ."的坏习惯。假如我们巴拉巴拉写了一堆代码,没有"git add",觉得写得不好,强迫症想重写,建议commint一次再修改,因为有时候又会觉得之前写的还不错。。
- 问题功能等切分支去开发和修复,尽量不要直接往master分支上提交,而是创建merge request让你领导审核一下再合并。
- 技术不够强,千万别乱改.git文件夹中的文件。不然Linus也帮不了你。
- 写好.gitignore文件,该上传的工程代码不要少,不然你的同事拉下来代码跑不通,可是要骂娘的哦~
回复

使用道具 举报

2

主题

37

回帖

48

积分

新手上路

积分
48
 楼主| 发表于 2023-10-17 14:53:10 | 显示全部楼层
WALL_E 发表于 2023-10-17 13:39
感谢楼主分享。git是软件工程中版本管理领域的一把利器。我也喜欢用命令行的方式,因为window上git bash实 ...

感谢大佬赐教,我多研究研究。
回复

使用道具 举报

2

主题

37

回帖

48

积分

新手上路

积分
48
 楼主| 发表于 2023-10-17 14:53:51 | 显示全部楼层
庄永 发表于 2023-10-17 11:50
小乌龟git了解一下

谢谢大佬分享。
回复

使用道具 举报

10

主题

32

回帖

62

积分

初级会员

积分
62
发表于 2023-10-18 10:39:58 | 显示全部楼层
推荐第三方GUI,软件名字是sourcetree,另外国内远端也可以选腾讯的coding或者阿里的云效,都有免费额度
回复

使用道具 举报

38

主题

194

回帖

318

积分

高级会员

积分
318
发表于 2023-10-18 15:52:35 | 显示全部楼层
我喜欢和8楼一样,用vscode+插件。
回复

使用道具 举报

210

主题

1042

回帖

1682

积分

至尊会员

More we do, more we can do.

积分
1682
发表于 2023-10-19 00:23:24 | 显示全部楼层
不推荐Gitee,不注册不能下载,非常反开源
回复

使用道具 举报

334

主题

2032

回帖

3039

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3039
发表于 2023-10-23 13:39:04 | 显示全部楼层
助力一下,国内常规windows访问github需要工具。

可以用win系统自带的微软商店,搜索这个软件 watt toolkit,能改善github的访问。

Snipaste_2023-10-23_13-37-47.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 03:52 , Processed in 0.329331 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表