git与github使用方法
学习一下如何使用git与github对代码进行管理
git与github的关系
Git是一种分布式版本控制系统,由Linus Torvalds于2005年创建。它用于跟踪文件和代码的变化,使团队成员能够在不干扰其他人工作的情况下协同开发项目。每个开发人员都可以在自己的本地计算机上创建、修改和提交代码的版本,然后将这些变更推送到共享的代码仓库。
而GitHub是一个基于Git的代码托管平台。它提供了一个在线的服务,使开发者能够轻松地将他们的Git代码仓库托管在云端。GitHub除了支持基本的代码托管功能外,还提供了诸如协作、问题追踪、代码审核、持续集成等功能,使得团队合作更加高效。
简而言之,Git是一种版本控制系统,而GitHub是基于Git的代码托管平台,为开发者提供了更便捷的协作和管理代码的方式。
描述来自chatGPT。
写在前面:
如果想要在本地创建了git仓库并且和github连接到一起,先用git init在本地初始化,再在github上创建自己对应的仓库。按照本文一步一步走即可。
Git
使用步骤以及介绍。
提交
- 设置个人信息
这里设置全局的
不是每次创建一个git仓库都需要设置。设置一次就可以了。
1 | git config --global user.name"你的昵称" |
这是为了记录提交者的信息,不需要一定和github的用户名与电子邮件对应。但是设置成一样的github才能将这次提交记录为自己的贡献。
- 初始化
在你的对应文件夹或者文件所在位置进行初始化。
git init
在当前目录下初始化你的git管理,会生成一个隐藏.git文件夹,文件夹中保存每个git版本记录和变化。
此时文件还没有被记录
- 存到暂存区
git add [文件名]
将所有的更改文件添加到暂存区,存储到暂存区后,commit会把暂存区的东西提交到仓库。
若是该文件路径下的所有文件,则为
git add .
项目中不推荐使用全部add的方法,首先会导致提交记录不清晰,其次是可能导入临时的数据、改变子目录结构等。
- 提交到仓库
git commit
但推荐下面一条命令
将暂存的修改提交为一个固定的版本。
提交后会打开一个vim的终端编辑器,这里要求写你的提交说明。
vim操作详见vim的教程。
简单说明:
进入这个步骤的时候还不能直接输入,按下(二选一):
- a : 光标之后开始插入文本
- i : 光标之前开始插入文本
编辑完成后,按下esc
推出拜年祭模式。
然后输入:wq
保存文件并退出。
本次提交就算完成了。
简化版(推荐):
git commit -m "提交的说明"
跳过vim编辑。
提交信息的书写规范,遵守Converntional Commits规范,按照
<type>(<scope>):<description>
- <type> 提交类型,常见的有:fix修复了bug,feat新增功能,docs文档更新,style代码格式化,refactor重构代码,test测试代码。
- <scope>提交的影响范围
- <description>对本次提交的简单描述
vscode也自带了这些git的提交流程,可以研究一下。
- 查看提交信息
git log

- 本次提交的随机aid
- 提交的人
- Date:日期
- 提交的说明
回退(重置)到某个版本状态
- git log查看版本信息
- 找到对应的随机编号
git rest --hard 版本编号
reset会把回到的这个版本之后的版本也清空(撤销这个版本之后的所有记录)。
如果不想清空记录,我还不会。
分支branch
用于团队开发。
-
创建分支
git branch <branchName>
-
进入分支
git checkout
-
合并分支
在主分支进行操作:
git merge <合进来的分支名称>
Github
首先,自己创建一个repository在github上面。
进入这个页面,下面的是叫你如何在自己的代码处创建git仓库和与github该仓库链接的简单教程。

git branch -M main
是一个 Git 命令,用于将当前分支重命名为 main。github现在默认创建的主要分支叫做main了,以前叫master。
这里建议设置一下。因为之前下载git的你可能不记得自己设置的git默认主分支是master还是main了。
当前项目的git分支可以通过git branch -a
查看。
其实就是上图中,仓库初始化后的网站上提示的操作。
-
git remote add origin XXXXX
:添加一个远程仓库地址。 -
git push -u origin main
推送上传到这个github的远程仓库。- 可能需要输入github的邮箱和密码
补充技巧
在一次推送项目的时候忘记加入.gitignore 了,导致我的png数据集全部被列入了推送list,好多个G,严重影响了我的上传速度。这里介绍:在git push 后如何终止并重新上传。
-
首先使用 ctrl+C 停止当前的进度。
-
从Git中移除所有文件:
git rm -r --cached .
-
重新添加所有文件
git add .
-
提交
git commit -m "Add .gitignore"
-
推送到Github
git push -u origin main
如果还不得行,就删除项目文件夹中.git ,然后重新开始init……
遇事不决删历史。
一些规范
在commit代码的时候,备注应该怎么写呢?
Git commit的注解规范可以参考以下内容:
- 每个提交应该有一个简短的标题,不超过50个字符,使用大写字母和祈使语气。
- 标题和正文之间应该有一个空行。
- 正文应该简要描述本次提交的目的和具体做了什么操作。
- 如果需要,可以在正文中添加备注或说明。
- 提交信息应该尽可能准确地描述本次提交内容。
- 可以使用以下标识来说明提交的类别:
feat
:新功能(feature)。fix
:修复bug。docs
:文档(documentation)。style
:格式(不影响代码运行的变动)。refactor
:重构(即不是新增功能,也不是修改bug的代码变动)。perf
:优化相关,比如提升性能、体验。test
:增加测试。chore
:构建过程或辅助工具的变动。revert
:回滚到上一个版本。merge
:代码合并。sync
:同步主线或分支的Bug。
总结
操作完毕之后,每次提交代码的流程都是:
1 | git add [filename] |
就行了
下面这个视频教学非常好,参考这个来的。
有一个闯关形式的git练习,很有创意,但是我没学会:git游戏