关于Git和Github是什么

BTW,我最近真的忙疯了,但是我告诉自己必须坚持把这个玩意给做了。所以语言会有一些混乱,请见谅orz

作为一个已经玩了Git两年但还是要经常Google来解决一些问题的软件工程学生。如果要一句话概括Git的用途那就是:

他是一个适合程序员体质的同步笔记软件

怎么理解这句话呢,意思就是他的用途就好比命令行里的飞书云文档(当然他肯定比飞书云文档更早,而且他也可以有GUI界面),支持多端共享,多人协作,最最重要的是他强大的版本控制和分支管理能力。你想去到哪个节点,就去到哪个结点。就像时光机一样酷。

那么Github是什么呢?Github,Gitee还是Gitlab,其实都差不多,殊途同归,所以使用哪个作为远程仓库并无所谓,相比之下,使用Github或许会接触到更多有意思的人和世界各地的技术大牛?Github是一个可玩性很强的平台,而且他的logo真的很可爱(碎碎念)在这里你甚至可以学会做饭:
在这里插入图片描述

安装和使用Git

Git安装

恰好最近我还没来得及在实验室的电脑上安装git,就带着一起做一下吧!事实上我们只需要搜索git,然后download for (你的操作系统),选择符合你电脑规格的setup然后next,next,next…网上的教程就像星星一样多,所以不继续赘述。安装完成后输入下面命令验证安装成功:

1
git --version

在这里插入图片描述
然后右键任意一个文件夹,理论上在桌面也行,选择open git bash here,如果没有安装错误应该是有的,一定有快捷键,但我懒得配。
然后就会打开一个这样的框,输入以下命令来设置全局用户名和电子邮件地址:

1
2
3
4

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

这里的 "Your Name""your.email@example.com"应替换为你自己的姓名和电子邮件。

然后可以输入这个来检查是否配置成功:

1
git config --global --list

在这里插入图片描述
有时候你输完命令没有输出,不要紧张,Unix哲学就是这样的,没有消息就是最好的消息。

Git使用

如果是已经掌握了git的用法的同学,相信下面的命令对你来说就跟玩儿一样。如果是没有掌握的,光看这张表,相比也看不懂。

Git 命令 描述
git config 配置用户信息和偏好设置
git init 初始化一个新的 Git 仓库
git clone 克隆一个远程仓库到本地
git status 查看仓库当前的状态,显示有变更的文件
git add 将文件更改添加到暂存区
git commit 提交暂存区到仓库区
git branch 列出、创建或删除分支
git checkout 切换分支或恢复工作树文件
git merge 合并两个或更多的开发历史
git pull 从另一仓库获取并合并本地的版本
git push 更新远程引用和相关的对象
git remote 管理跟踪远程仓库的命令
git fetch 从远程仓库获取数据到本地仓库,但不自动合并

主要还是孰能生巧,多用,才能更快掌握,但如果你目前的工作只是需要在你的windows系统上写一些只属于你自己的简单代码,那么你目前只需要会这几个:

Git 命令 描述
git config 配置用户信息和偏好设置
git init 初始化一个新的 Git 仓库
git clone 克隆一个远程仓库到本地
git add 将文件更改添加到暂存区
git commit 提交暂存区到仓库区
git push 更新远程引用和相关的对象

掌握了这些命令,应该就差不多了。

实战营作业

提交个人自我介绍

将这个仓库fork到自己的仓库下,并且,克隆到本机。
在本机打开git bash,其实在自己的仓库列表下找到这个仓库点进去,然后再点code按钮获得的链接就不需要修改用户名。

1
2
3
4
5
6
7
# 修改为自己fork的仓库,改为上图中你的https仓库的git地址,将random-zhou改为自己的用户名
git clone https://github.com/random-zhou/Tutorial.git
#git clone git@github.com:random-zhou/Tutorial.git
#git clone https://github.com/InternLM/Tutorial.git
cd Tutorial/
git branch -a
git checkout -b class origin/class

然后。自己新建一个分支,下面的命令可以一步到位地新建分支并切换到分支:

1
2
git checkout -b class_036 # 自定义一个新的分支
#git checkout -b class_id 分支名字改为你的uid分支名称

然后用随便什么编辑器打开文件夹,编辑一段自我介绍就可以,我用的vscode,vscode还集成了终端,可以直接在这里提交:
在这里插入图片描述
提交方法:

1
2
3
git add .
git commit -m "add git_camp4_1731_introduction" # 提交信息记录,这里修改为我自己的uid
git push origin 1731

如何就可以在github看到这个提示:
在这里插入图片描述
open pull request,将名字改为指定格式:
在这里插入图片描述

构建个人项目

这里就先暂时放一个我之前的LLM项目吧,有时间了一定补,(下次一定,下次一定)
https://github.com/Alpaca10086zyys/stardew-valley-assistant

Github的一些好玩的

这里我也没有太多时间细说啦,简单讲讲我在Github上发现的一些有意思的东西。

Github Copilot

Github Copilot是一个可以帮你自动补全代码的功能,比我之前用过的所有IDE的自动补全都要强!学生的话可以免费使用,只要认证一下就好!

Github Page

这个可以用来搭建静态博客,也可以托管一些静态网页!可以看看我们的弱弱大作业和我的弱弱博客👉🏻👈🏻

Github Codespace

仍在探索中!