1 Git

在这里插入图片描述

1.1 Git 是什么?

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git的诞生离不开Linux社区的努力,它是开源的,而且是免费的。它支持多种操作系统,包括 Linux、Unix、Mac OS X、Windows。

2 Git 相关概念

2.1 工作区、暂存区和 Git 仓库区

  • 工作区(Working Directory): 当我们在本地创建一个 Git 项目,或者从 GitHub 上 clone 代码到本地后,项目所在的这个目录就是“工作区”。这里是我们对项目文件进行编辑和使用的地方。

  • 暂存区(Staging Area): 暂存区是 Git 中独有的一个概念,位于 .git 目录中的一个index索引文件,记录了下一次提交时将要存入仓库区的文件列表信息。使用 git add 指令可以将工作区的改动放入暂存区。

  • 仓库区 / 本地仓库(Repository): 在项目目录中,.git 隐藏目录不属于工作区,而是 Git 的版本仓库。这个仓库区包含了所有历史版本的完整信息,是 Git 项目的“本体”。

2.2 文件状态

文件在 Git 工作区中的状态可以是:

  • 已跟踪:文件已被纳入版本控制,根据其是否被修改,可以进一步分为未修改(Unmodified)、已修改(Modified)或已暂存(Staged)。
  • 未跟踪:文件存在于工作目录中,但还没被纳入版本控制,也未处于暂存状态。
状态 未跟踪Untrack 未修改Unmodified 已修改Modified 已暂存Staged
说明 “即新建的文件,并未被git所管理” “文件的内容没有写入修改,已经被git管理” “文件的内容被写入修改,已经被git管理” “文件的内容暂存,已经被git管理”

2.3 分支

分支是 Git 的一大特性,支持轻量级的分支创建和切换。Git 鼓励频繁使用分支和合并,使得并行开发和错误修正更为高效。

2.4 Git简易入门四部曲

在Git的日常使用中,下面四步曲是常用的流程,尤其是在团队协作环境中。

  • 添(Add)
    命令:git add <文件名> 或 git add .
    作用:将修改过的文件添加到本地暂存区(Staging Area)。这一步是准备阶段,你可以选择性地添加文件,决定哪些修改应该被包括在即将进行的提交中。

  • 提(Commit)
    命令:git commit -m ‘描述信息’
    作用:将暂存区中的更改提交到本地仓库。这一步是将你的更改正式记录下来,每次提交都应附带一个清晰的描述信息,说明这次提交的目的或所解决的问题。

git commit -m “first commit” 是一个 Git 命令,用于将暂存区(staging area)中的更改提交到本地仓库中。-m 后面跟着的是双引号括起来的字符串,这个字符串就是你要为这次提交添加的消息。

  • 拉(Pull)
    命令:git pull
    作用:从远程仓库拉取最新的内容到本地仓库,并自动尝试合并到当前分支。这一步是同步的重要环节,确保你的工作基于最新的项目状态进行。在多人协作中,定期拉取可以避免将来的合并冲突。

  • 推(Push)
    命令:git push
    作用:将本地仓库的更改推送到远程仓库。这一步是共享你的工作成果,让团队成员看到你的贡献。

git push -u origin main :将本地的当前分支的更改推送到名为 origin 的远程仓库的 main 分支上。设置本地的当前分支与远程的 origin/main 分支之间的跟踪关系。
git push origin main: 明确指定了远程仓库origin和要推送的分支main ,不受当前分支的上游跟踪关系设置影响。
git push: 依赖于当前分支的上游设置,如果设置了上游分支,它会将当前分支的更改推送到对应的远程分支上。

2.5 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 从远程仓库获取数据到本地仓库,但不自动合并

3 Git 平台介绍

  • GitHub
    是全球最大的代码托管平台之一,拥有丰富的开源项目和活跃的开发者社区。它提供了版本控制、项目管理、协作开发等功能,并支持多种编程语言。

  • GitLab
    一个自托管或基于云的平台,提供了完整的 DevOps 工具链,包括代码托管、持续集成/持续部署(CI/CD)、问题跟踪等。

  • Gitee
    国内的代码托管平台,提供了代码托管、项目管理、协作开发等功能,对国内开发者来说,访问速度可能更快,也更符合国内的使用习惯。

4 Git使用

4.1 注册github账号

去github官网注册一个账号

  • 本次学习项目的链接: https://github.com/InternLM/Tutorial/tree/camp4
    在这里插入图片描述

4.2 项目fork

将本项目直接fork到自己的账号下,这样就可以直接在自己的账号下进行修改和提交。
在这里插入图片描述
注意取消勾选仅克隆当前分支

在这里插入图片描述

fork成功

在这里插入图片描述

4.3 项目配置git并克隆项目到InternStudio本地

# 修改为自己fork的仓库,改为上图中你的https仓库的git地址,将random-zhou改为自己的用户名
git clone https://github.com/自己的github账户名/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

4.4 创建分支

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

4.5 创建自己的介绍文件

路径 ./icamp4/id.md

在这里插入图片描述

4.6 提交更改分支

git add .
git commit -m "add git_camp4_5880_introduction" # 提交信息记录

4.7 推送分支到远程仓库

git push origin class_5880
#注意,这里要改为你自己的分支名称
#大家提交使用英文,避免同步错误

注意:第一次推送时需要登录github授权,直接授权即可。

4.8 检查提交内容

如图所示,可以看到你的分支已经被推送到远程仓库。
在这里插入图片描述

  • 点击contribute:

在这里插入图片描述

  • 选择 class 和 带上传的分支,提交。
    在这里插入图片描述
Logo

更多推荐