git与github使用方法

学习一下如何使用git与github对代码进行管理

git与github的关系

Git是一种分布式版本控制系统,由Linus Torvalds于2005年创建。它用于跟踪文件和代码的变化,使团队成员能够在不干扰其他人工作的情况下协同开发项目。每个开发人员都可以在自己的本地计算机上创建、修改和提交代码的版本,然后将这些变更推送到共享的代码仓库。

而GitHub是一个基于Git的代码托管平台。它提供了一个在线的服务,使开发者能够轻松地将他们的Git代码仓库托管在云端。GitHub除了支持基本的代码托管功能外,还提供了诸如协作、问题追踪、代码审核、持续集成等功能,使得团队合作更加高效。

简而言之,Git是一种版本控制系统,而GitHub是基于Git的代码托管平台,为开发者提供了更便捷的协作和管理代码的方式。

描述来自chatGPT。


写在前面:
如果想要在本地创建了git仓库并且和github连接到一起,先用git init在本地初始化,再在github上创建自己对应的仓库。按照本文一步一步走即可。

Git

使用步骤以及介绍。

提交

  1. 设置个人信息

这里设置全局的
不是每次创建一个git仓库都需要设置。设置一次就可以了。

1
2
git config --global user.name"你的昵称"
git config --global user.email"你的邮箱"

这是为了记录提交者的信息,不需要一定和github的用户名与电子邮件对应。但是设置成一样的github才能将这次提交记录为自己的贡献。

  1. 初始化

在你的对应文件夹或者文件所在位置进行初始化。

git init
在当前目录下初始化你的git管理,会生成一个隐藏.git文件夹,文件夹中保存每个git版本记录和变化。

此时文件还没有被记录

  1. 存到暂存区
    git add [文件名]

将所有的更改文件添加到暂存区,存储到暂存区后,commit会把暂存区的东西提交到仓库。

若是该文件路径下的所有文件,则为git add .
项目中不推荐使用全部add的方法,首先会导致提交记录不清晰,其次是可能导入临时的数据、改变子目录结构等。

  1. 提交到仓库
    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:日期
- 提交的说明

回退(重置)到某个版本状态

  1. git log查看版本信息
  2. 找到对应的随机编号
  3. git rest --hard 版本编号

reset会把回到的这个版本之后的版本也清空(撤销这个版本之后的所有记录)。

如果不想清空记录,我还不会。

分支branch

用于团队开发。

  1. 创建分支
    git branch <branchName>

  2. 进入分支
    git checkout

  3. 合并分支
    在主分支进行操作:
    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 后如何终止并重新上传。

  1. 首先使用 ctrl+C 停止当前的进度。

  2. 从Git中移除所有文件:git rm -r --cached .

  3. 重新添加所有文件git add .

  4. 提交git commit -m "Add .gitignore"

  5. 推送到Githubgit 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
2
3
git add [filename]
git commit -m "NXXXXX"
git push

就行了

下面这个视频教学非常好,参考这个来的。

B站的教学视频:git、github 保姆级教程入门

有一个闯关形式的git练习,很有创意,但是我没学会:git游戏

作者

Zhou

发布于

2023-07-23

更新于

2025-04-11

许可协议

评论

+ + +