Git 使用
GitHub是全球最大的代码托管平台之一,拥有丰富的开源项目和活跃的开发者社区。它提供了版本控制、项目管理、协作开发等功能,并支持多种编程语言。GitLab一个自托管或基于云的平台,提供了完整的 DevOps 工具链,包括代码托管、持续集成/持续部署(CI/CD)、问题跟踪等。Gitee国内的代码托管平台,提供了代码托管、项目管理、协作开发等功能,对国内开发者来说,访问速度可能更快,也更符合国内的
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 和 带上传的分支,提交。
更多推荐
所有评论(0)