Git 教程
| Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。 |
Git 与 SVN 区别
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。Git 与 SVN 区别点:
- 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
- 2、Git 把内容按元数据方式存储,而 SVN 是按文件: 所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
- 3、Git 分支和 SVN 的分支不同: 分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
- 4、Git 没有一个全局的版本号,而 SVN 有: 目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
- 5、Git 的内容完整性要优于 SVN: Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
Git 工作流程
本章节我们将为大家介绍 Git 的工作流程。 下图展示了 Git 的工作流程:
1、克隆仓库
如果你要参与一个已有的项目,首先需要将远程仓库克隆到本地:
git clone https://github.com/username/repo.git
cd repo
2、创建新分支
为了避免直接在 main 或 master 分支上进行开发,通常会创建一个新的分支:
git checkout -b new-feature
3、工作目录
在工作目录中进行代码编辑、添加新文件或删除不需要的文件。
4、暂存文件
将修改过的文件添加到暂存区,以便进行下一步的提交操作:
git add filename
# 或者添加所有修改的文件
git add .
5、提交更改
将暂存区的更改提交到本地仓库,并添加提交信息:
git commit -m "Add new feature"
6、拉取最新更改
在推送本地更改之前,最好从远程仓库拉取最新的更改,以避免冲突:
git pull origin main
# 或者如果在新的分支上工作
git pull origin new-feature
7、推送更改
将本地的提交推送到远程仓库:
git push origin new-feature
8、创建 Pull Request(PR)
在 GitHub 或其他托管平台上创建 Pull Request,邀请团队成员进行代码审查。PR 合并后,你的更改就会合并到主分支。
9、合并更改
在 PR 审核通过并合并后,可以将远程仓库的主分支合并到本地分支:
git checkout main
git pull origin main
git merge new-feature
10、删除分支
如果不再需要新功能分支,可以将其删除:
git branch -d new-feature
或者从远程仓库删除分支:
git push origin --delete new-feature