提个问题:“为啥要学git和github?”
答疑解惑:"想要成为一名优秀的程序员,就要学会使用Git和GitHub,它们是现代软件开发的必备工具!”
Git是一种分布式版本控制系统,可以跟踪代码的历史记录、管理代码的更改和协作开发。Git最初由Linus Torvalds于2005年创建,用于管理Linux内核的开发。现在,Git已经成为了开源社区和商业开发中最流行的版本控制系统之一。
Git的核心概念包括仓库(repository)、分支(branch)、提交(commit)、合并(merge)和标签(tag)等。开发者可以将代码存储在Git仓库中,并通过提交来记录代码的更改。每个提交包括一个唯一的哈希值、提交者的姓名和邮箱、提交的时间戳以及提交信息。
分支是Git中一个重要的概念,可以帮助开发者管理代码的不同版本。开发者可以基于主分支(通常为“master”)创建一个新的分支,进行代码的开发和测试,最终将更改合并回主分支中。
除了本地仓库外,Git还支持远程仓库。开发者可以将本地仓库的更改推送到远程仓库中,或者从远程仓库中拉取代码到本地仓库中。这使得多个开发者可以在不同的地方协同开发同一个代码库。
总之,Git是一种强大的工具,可以帮助开发者更好地管理和协作开发代码。
看不懂前面的介绍没关系,下面有几个基本的入门了解视频
【『教程』简单明了的Git入门】 https://www.bilibili.com/video/BV1Cr4y1J7iQ/?share_source=copy_web&vd_source=020c114436213a90a33169adf6f32398
到这里是不是还很糊涂,没有实际应用过,这里提供一个git练习的网站:Learn Git Branching,直接点击这个链接进入就好。可以在里面学习和练习git。但是它只是游戏向的学习,实际应用要在项目中学习了解。
Github介绍:
GitHub是一个基于Git的代码托管平台,它提供了免费的Git仓库托管服务、版本控制、代码审查、问题跟踪、Wiki等功能,使得开发者可以在一个平台上进行代码的管理、协作和分享。
GitHub上的开源项目非常丰富,许多开源社区和企业都将自己的项目托管在GitHub上,使得开发者可以轻松地找到和使用这些项目。
Git和GitHub的关系非常密切,Git是一种版本控制系统,可以在本地对代码进行版本管理,而GitHub是基于Git的云端代码托管平台,它允许开发者将自己的Git仓库托管在云端,并提供了更多的协作和分享功能,使得多个开发者可以在不同的地方协同开发同一个代码库。
在GitHub上,开发者可以在一个中央代码库中共享和管理代码,并进行协同开发、代码审查和版本管理。GitHub还提供了一些社交化的功能,比如关注其他开发者、赞同和评论等,使得开发者可以更好地交流和合作。
总之,Git和GitHub是开发者必备的工具之一,它们为开发者提供了一个方便、高效和强大的平台,促进了开源社区和企业的发展。
除了Github,还有Gitee,Gitee是一个类似于GitHub的国内开源代码托管平台,是中国的一个Git代码托管和开发协作平台。Gitee为开发者提供了Git代码托管、代码托管、协作开发、在线构建、代码审查、问题跟踪、文档管理等多种功能,是国内领先的开源社区和代码托管平台之一。
形象类比:
可以将Git比作一个个人的笔记本,用于记录个人的思考、学习和笔记。
而GitHub则是一个公共图书馆,它允许你将你的笔记本放在公共图书馆中,并与其他人共享你的笔记。
就像你可以在笔记本中记录你的思考和笔记一样:
Git允许你在本地计算机上管理代码版本、更改和历史记录。
而GitHub允许你将这些代码版本托管在云端,并与其他人共享、合作和共同开发代码。
在GitHub上,你可以创建一个公共仓库,将你的代码版本放在其中,并与其他开发者一起协作和开发。你可以在这个仓库中创建分支、提交代码、进行代码审查和解决问题。其他开发者也可以克隆这个仓库到他们自己的本地计算机上进行开发和测试。
类比于公共图书馆,GitHub就像是一个社区的集合,你可以在这里找到其他开发者的项目,并加入他们的开发团队或者向他们提出问题和建议。在这个社区中,开发者可以互相学习、交流和分享,共同推动开源项目的发展。
总之,Git和GitHub就像是你的个人笔记本和一个公共图书馆,它们之间的关系是你可以在本地记录你的想法和笔记,并将它们放在一个公共平台上与其他人分享、合作和共同开发。
最本质的本质:git在本地管理程序的进化过程,github在云端管理这些进化过程,并且主要有共享的特性。
所以你们团队可以在github等代码版本托管平台进行程序的进化的云端托管。
看不懂前面的介绍没关系,下面有几个基本的入门了解视频
【Git + GitHub 10分钟完全入门】 https://www.bilibili.com/video/BV1KD4y1S7FL/?share_source=copy_web&vd_source=020c114436213a90a33169adf6f32398
【Git + GitHub 10分钟完全入门 (进阶)】 https://www.bilibili.com/video/BV1hA411v7qX/?share_source=copy_web&vd_source=020c114436213a90a33169adf6f32398
【GitHub 到底怎么用?十分钟学会 GitHub 基础知识】 https://www.bilibili.com/video/BV1yo4y1d7UK/?share_source=copy_web&vd_source=020c114436213a90a33169adf6f32398
注意一点小问题:
通常,在进行代码修改和开发时,会创建自己的分支,并在其中进行代码编写、测试和提交。当自己的代码分支(branch)已经修改和测试完成,需要将代码合并到主分支(master branch)上时,需要先向主分支提交一个Pull Request(PR),由其他开发者进行代码审查和测试。如果没有问题,PR被批准,才可以将代码合并到主分支上。这样可以确保代码的质量和稳定性。
Pull Request流程:(点击前面三角形展开或关闭)
Pull Request 的工作流程通常是这样的:开发者 Fork(克隆)仓库,创建一个新分支进行开发,将修改提交到自己的分支,然后创建一个 Pull Request,描述自己的修改和意图。仓库的拥有者会审查修改并进行讨论,最后决定是否接受并合并 Pull Request 中的更改。
在 GitHub 上,创建 Pull Request 的流程如下:
- Fork 项目:在目标项目页面点击 "Fork" 按钮,将项目 Fork 到自己的仓库中。
- 创建分支:在自己的仓库中创建一个新分支,用于进行修改和提交。
- 进行修改:在新分支上进行代码修改、添加或删除文件等操作。
- 提交分支:将修改提交到自己的仓库中的新分支。
- 创建 Pull Request:在自己的仓库页面找到新分支,点击 "New Pull Request" 按钮创建 Pull Request。
- 选择分支和目标仓库:选择要将修改合并到的目标仓库和分支。
- 填写 Pull Request 信息:在创建 Pull Request 页面,填写标题、描述等相关信息。
- 提交 Pull Request:点击 "Create Pull Request" 按钮,创建 Pull Request。
一旦你提交了 Pull Request,目标仓库的维护者将会收到通知,并可以查看你的修改、进行讨论和代码审查。他们可以选择接受 Pull Request 并将你的修改合并到目标分支中,或者提出修改建议。Pull Request 的状态也会实时更新,可以进行跟踪和沟通。
在 Pull Request 中,你可以和仓库的维护者进行交流、讨论修改和进行代码审查。你还可以根据反馈进行修改,并将新的提交添加到已有的 Pull Request 中,以便持续改进你的修改。
通过 Pull Request,你可以方便地进行协作、贡献代码和参与开源项目,同时也提供了一个代码审查和讨论的平台,有助于保证代码质量和团队合作。
因此,提醒开发者,在将自己的代码合并到主分支之前,一定要先提交一个PR,等待其他开发者进行代码审查和测试。不要在自己的分支没有PR之前就进行代码合并操作,否则可能会引起严重的问题。
如果很不幸,你自己用Git玩乱了你的项目,变得一团糟,那么,这个网站也许能提供一些帮助:https://ohshitgit.com/
看到这里,是不是觉得git的命令行操作很是麻烦不好记,也不用担心,有需求就会有市场,图形化界面的Git也是有的,比如:
Gitkraken
GitKraken是一款强大的Git客户端,提供了直观的用户界面和丰富的功能,可以帮助开发者更轻松地管理Git代码库。以下是GitKraken的几个特点:
- 直观的用户界面:GitKraken的用户界面非常直观,使用者可以很容易地理解和使用它的各种功能。它提供了可视化的Git操作、分支管理、冲突解决等功能,让Git的使用变得更加简单和高效。
- 多平台支持:GitKraken支持Windows、macOS和Linux等多个操作系统平台,适用于不同的开发者需求。
- 集成GitHub和GitLab:GitKraken支持与GitHub和GitLab等代码托管平台进行无缝集成,可以更方便地进行代码的管理和协作开发。
- 高级功能支持:GitKraken还提供了许多高级的Git功能,如Gitflow工作流、GPG签名、多个SSH密钥、快速导航等功能,可以满足不同的开发需求。
总之,GitKraken是一款功能强大、易于使用的Git客户端,适合不同级别的开发者使用,可以帮助开发者更高效地管理Git代码库。
至于怎么合理的使用Gitkraken,就看你们的了,毕竟是商业软件,我话就点到为止啦。当然除了这个软件,也还有其他Git图形化的软件,请自行搜索啦。
团队合作小练习:
Github上创建组织
队长先创建一个组织
邀请三位队员都成为项目的管理者
在组织中上传现有的项目
每个组员都fork一份项目到本地仓库
每位组员在自己电脑本地安装git或者gitkraken,clone项目到本地
修改自己的代码,push推送提交,以确定远程仓库更新了内容
发起Pull Request,请求将自己的修改合并到组织项目中
项目管理员检查Pull Request请求与里面的内容,进行合并