learn from:

Git工作流和核心原理 | GitHub基本操作 | VS Code里使用Git和关联GitHub_哔哩哔哩_bilibili

老师展示的GitGUI挺好用的,但是没有说明具体版本,因此我这边直接用了VScode了,功能是一样的,自己动些脑筋就OK而且更贴近实际工作开发场景。

——————————————————————————————

我是土鳖,老师用的Mac版本的SourceTree,尊贵的苹果用户可以尝试一下。

——————————————————————————————

注意,VScode这边这个向下的小箭头可以重载不同的终端工具供我们使用。

Git使用

相信大部分通信、电科类专业的同学在刚入行嵌入式的时候,往往和我一样都对git工具知之甚少,隔壁计科的同学相对来说会更熟悉这个工具,今天我打算和大家一起正式学习一下这个重要工具。

哦对了防止有真的小白看这篇文章事先交代一下,git就是林纳斯为了管理Linux日渐庞大的kernel文件而发明的,所以Linux命令在这边是互通的。

GIT工作流示意图如下:

下面用终端工具打开一个实验文件夹:

一般在正式操作Git仓库之前都需要进行本地设置,类似于签下姓名(名字+邮箱):

git config --global user.name "Jumasyusi"

分两步:

git config --global user.email 2119537868@qq.com

然后进行文件夹初始化:

$ git init
Initialized empty Git repository in D:/GitSpace/HelloWorld/.git/

文件夹下会新建一个隐藏文件叫做.git。

新建一个.md文件:

cho "版本1"> lao.md

查看当前状态:

$ git status
On branch master  ##当前所在分支

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        lao.md   ##刚才创建的文件属于untracked状态

nothing added to commit but untracked files present (use "git add" to track)

提醒我们用git add那我们就用一下吧:

下面git commit一下,会默认进入vim编辑器:

不进入vim可以选择-m添加备注信息:

按下git log查看提交信息:

按下q退出界面。

实际开发中我们的工程文件夹内势必不是所有资源都需要备份分享的,这时候就可以创建一个.gitignore文件用来告诉git那些文件它不必在意。

我这里放了一个蓝牙图标PNG,希望被git忽略,那么一个怎么操作呢?

我们把名字和后缀全放.gitignore文件就可以了。

下面引入分支的概念,假设我们要扩充当前文件库,但是还不确定这些扩充的文件是否有用,我们就可以新开辟一个分支,等到一切就绪之后合并所有分支。

创建新分支的指令:

git branch “name”

切换分支需要用git checkout:

删库小实验,切勿模仿:

注意这时候就算回到了master分支图片也回不来,因为被我们ignore掉了。

直接创建并且切换到新分支:

使用merge合并分支:

Github基本使用

下面直接上一下github,并且创建文件:

编辑内容过后按下ctrl+s:

如果我们遇到了想要下载的项目仓库,就可以找到这个绿色的code按钮点击选择下载选项。非常不推荐大家这个时候还选择Download ZIP,因为zip里面只有最新版本的文件没有版本历史和记录(没有.git),不利于我们了解迭代信息。 

现在回到本地拉取代码:

注意,咱们从GitHub上面下载的代码,主支的名称是main,本地操作默认主支名称是master。

我在仓库新建一个Hello源文件,并且在.gitignore里面忽略编译产物,之后用git add将所有新文件从untracked状态转移到stage状态,然后再git commit。

下面我们开始产生尝试将本地代码推送到远程仓库。先来检查一下蹦迪仓库和那些仓库有关系:

然后使用git push推送,依据终端输出提示,可以用用户名+密码的形式链接,也可以去GitHub端生成token,大致路径如下:

点击头像->Settings->Developer settings->Generate new tokens。

下面示范一下远程仓库更新后本地端如何同步,可以看到我这边对markdown文件进行了新的修订,然后点击commit changes确认修改:

下面回到VScode,分两步走:git fetch和git diff查看区别:

没有问题的话就用git pull直接整合就好。最后可以再尝试用git log查看所有修改记录:

VScode的可视化Git管理

文件名称旁边带有U代表这个该文件是Untracked状态,下面点击+等于git add命令。

之后文件的标识变味了A,也就是added状态。

下面可以输入版本信息并且提交了。

这个位置有其他命令供大家使用:

直接点击文件名可以对比查看修改内容:

这边可以修改分支:

切换远程仓库

有时候我们可能需要将代码推送到不同的托管平台,比如国内的Gitee。下面演示一下我掌握的一种方式。

首先检查目前关联了哪些remote:

git remote -v

然后添加新的remote:

$ git remote add <远程仓库别名> <远程仓库地址>

下一步

git push -u <remote名称:orign> <分支名称:master>

示范:

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐