其实Git 入门,阐明基本的git (github) 流程的问题并不复杂,但是又很多的朋友都不太了解,因此呢,今天小编就来为大家分享Git 入门,阐明基本的git (github) 流程的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
fork、clone、pull、branch、save、test、add、comment、commit、push(注意上面粗体字都是git命令的一部分),再次测试,讨论并重复这六个步骤,只是为了更新网站,不经历这么繁琐的事情就有点夸张了,有点隆重了。所有初学者可能会因为如此复杂而感到困惑、恼怒和责骂。
网上有很多git教程,很多都有图文并茂。冲冲不愿意在这里重复讨论。这里我们仅描述典型的git工作流程,并对流程中的每个关键流程和步骤进行解释。以此为基础,帮助初学者理解git的含义,帮助他们快速上手。
为什么要使用Git?
Git 是一个分布式版本控制系统(VCS)。人们用它来控制文件的更改过程,跟踪每一步的更改,并在必要时撤回它们。基于此,大家可以共同努力。其他的VCS还包括原来的RCS、CVS、微软的VSS、SVN、BitKeeper等。Git最初是Linus开发的,用于管理Linux内核项目。
Git 基于一个目的并鼓励每个人参与。基本上任何人都可以提交变更请求(github:Pull request,gitlab:Merge request),但只有少数负责人(所有者和开发团队)可以接受并合并变更。一个人可以同时处理多个项目。为了管理如此大量的项目(Repo),Git(工具)、Gitlab和GitHub(协作网站)可以创建并保存许多版本的项目及其版本流程。每个项目对应不同的权限。或出于不同的目的。
例如,构建公共项目的代码通常在线托管在GitHub 中。如果你想修改它、添加功能、解决错误,甚至改进文档。我们都可以在github网站上通过fork在个人项目下创建一个副本,然后修改甚至“蹂躏”这个副本,但是无论你做什么,对原始版本都不会产生任何影响,直到你想要你的修改是通过Pull request提交到主项目,主项目经理接受你的请求。
先决条件:
创建一个GitHub帐户。
GitHub 是一个共享项目托管网站。项目所有者保留项目的正式版本。如果其他人需要修改它,他们必须首先拥有github 帐户并fork 以获得该项目的在线副本。当然,对于公共项目,如果只想在本地获取项目的副本,则只需git clone 项目地址即可。比如下面是虫虫的github个人页面:
在本地安装Git
Git 是一个版本控制工具,可以帮助我们跟踪项目文件的更改。它在我们的本地计算机上运行。如果您的本地系统是Linux,通常会默认安装。如果没有,可以通过发行包管理系统安装,例如yum install git。 Windows 版本的git 工具是git for window (msysgit) 以及微软开发和维护的各种git GUI 客户端。
当然,git的基础还是在于git命令行。通过git shell执行各种命令也是最方便直接的。建议无论有没有基础,都先从git shell开始。不要害怕命令。这是你最重要的工具。亲爱的朋友们,当您使用任何图形化git 客户端工具出现问题时,也建议使用git shell 重试。根据错误消息查找问题通常是最容易的。
典型的github工作流程
一旦你安装了git 并创建了GitHub 帐户(当然对于内部项目你可以使用gitlab
在线副本(fork)
要开始向项目贡献代码,您首先需要制作原始项目的可控在线副本。您的所有更改都可以添加到您的在线副本中。然后发起Pull 请求。发起更改后,Githu 会自动将您的在线副本与原始副本进行比较,通知原项目维护人员,由他决定是否接受您的更改。 Github 的fork 操作可以说是让git 和github 流行起来的最重要的功能。鼓励大量用户随时随地贡献贡献,无需加入项目团队。
Git项目文件夹一般称为“repository”(仓库),简称“repo”。仓库中会包含项目的所有源代码文件以及git版本信息、Git版本跟踪文件,git项目文件位于项目更新目录下的.git目录下,以及markdow格式的项目描述文档README.md 。
将使用原始存储库的最新版本在您的GitHub 帐户中创建在线副本。所有分叉的项目都会分布在项目路径下,并有分叉形式xxx的原始仓库的链接。例如Chongchong项目就是从perl6/doc fork出来的原始仓库。
本地副本(clone)
要对项目进行修改并测试,或部署github 项目,您需要克隆本地副本。在本地副本上,您可以不受任何限制地修改和测试,无需任何批准或预审。
例如,如果您想维护网站内容,您可以构建该网站的本地副本。然后在本地进行修改和浏览,确保代码完全正确,然后将修改推送到远程仓库。推送更改后,您的测试将根据您的提交(可能与某个问题或错误修复有关),克隆副本或将代码更改拉取副本到本地,然后测试功能以确保问题已解决或功能生效。当然这部分是可以完全自动化的,就是github或者gitlab的CI/CD(持续集成和发布)。冲冲稍后会介绍这些内容。
本地下载的存储库副本称为“克隆”。克隆存储库与一般项目下载不同。除了项目文件本身之外,clone 还会下载存储库的所有版本变更信息。您可以使用git clone url 命令克隆存储库,该url 可以在项目的“克隆并向下”按钮下找到。
请注意,Url 有两种类型:https 和ssh。如果你克隆别人共享的仓库,只能使用https,否则你将没有任何通过ssh克隆的权限。
你的单独工作环境(branch)
git 项目通常有不同的贡献者对同一存储库进行大量更新。为了实现这个功能,git允许你在同一个仓库中创建许多不同的版本,并在远离主线版本的地方进行修改。这些不同的版本称为“分支”。分支管理是git版本控制的最大优点之一。 Git分支管理是基于指针的,因此分支的创建、切换和合并都非常快,几乎不需要资源消耗。每个人都可以使用分支创建一个单独的工作环境,并对其进行任何修改,而不会影响其他分支版本。在确保没有问题的情况下,可以通过分支合并的方式将变更合并到主线版本中。所有仓库都会有一个名为Master的主版本,通常会创建一个Develop分支作为开发版本。
分支机构和仓库目录之间的关系
您可能希望将每个分支视为项目文件的不同副本,但从技术上讲,分支并不是副本。正如我们之前所说,它只是用指针将其指向一个提交。
您将从计算机上的同一目录与存储库中的所有分支进行交互。当您位于该目录中时,您将始终看到该目录的版本(分支)。
当您切换到不同的分支时,目录中的大多数文件也会发生变化,看起来像您刚刚选择的版本。但是,如果您将更改保存到任何文件,这些更改将保持与您上次保存时相同,无论您签出哪个分支。 Git 始终知道您已更改这些文件,并等待您告诉它您要将更改添加(git add) 到哪个项目版本(或告诉它您不想保留更改)。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/110282.html
用户评论
箜篌引
看到这个标题感觉很不错啊!我一直对Git不太了解,也一直想找个机会入门学习一下,现在这篇文章正好符合我的需求!希望能系统地讲解一些基本的原理操作步骤,到时候我也能学会好好使用Git管理代码了。
有11位网友表示赞同!
寂莫
终于有人写了Git初学者教程!以前网上都是那种很深的、一看就头疼的文档,导致我一直在拖着不敢去碰。希望这篇文章能把Git的流程简单化,这样入门会更容易懂吧~
有5位网友表示赞同!
生命一旅程
Git和github这两个词一直在我耳边是晃来荡去的,但真正了解它们到底怎么用,还是一头雾水啊。正好想起来这个标题,期待这篇教程能够让我从头到尾明白它们的运作机制,以后写代码再也不用担心版本管理的问题了!
有16位网友表示赞同!
我一个人
感觉这篇文章写的挺详细的啊,能清晰地解释Git的基本流程,对于小白们来说非常友好!之前也看过很多相关的文章,但总觉得没讲透彻,最终还是一头雾水。这篇教程应该能够帮我解决这些疑问,让我真正理解Git的精髓!
有19位网友表示赞同!
小清晰的声音
说实话,我还是不太明白为什么那么多人说Git这么重要,它到底有什么用?看了这篇文章就明白了,原来它能帮助开发者更好地管理代码版本,提高效率并避免出错!这个道理还是蛮重要的。
有15位网友表示赞同!
晨与橙与城
学习Git确实很重要,但是很多教程都很枯燥乏味,读起来一点感觉没有。希望这篇教程能够以简洁易懂的方式介绍Git的基础知识和使用方法,让人在阅读的同时也能保持对学习的热情!
有19位网友表示赞同!
鹿先森,教魔方
对于入门者来说,一个好的教程真的很重要!这次看到这个标题就很有期待了,希望能把Git的基本流程讲透彻,让我能快速掌握相关的操作步骤。希望这篇文章不仅能教会我使用Git,还能帮我理解它的意义和价值!
有11位网友表示赞同!
一样剩余
感觉代码管理的重要性在最近几年越来越明显了,而Git作为目前主流的版本控制系统,也逐渐成了开发者必备的技能之一。这篇教程能让小白们快速入门掌握Git基本流程,真是太棒了!
有8位网友表示赞同!
伤离别
我曾经因为搞不清Git的基本概念而把项目弄得一团糟,损失了不少时间和精力。希望这篇文章能解决我的困惑,让我彻底明白Git的工作原理,以后再也不犯同样的错误了!
有13位网友表示赞同!
浅巷°
虽然标题很明确,但是还是期待这篇教程能够能详细地展示Git的操作步骤,最好配上一些图片或示例代码,这样更容易理解和记忆。学习新东西总是要循序渐进的,我希望这篇文章能够让我从零开始快速入门 Git!
有20位网友表示赞同!
执拗旧人
个人感觉 Git 的操作流程有点复杂,难以掌握。这篇教程能否尝试用通俗易懂的语言讲解,并提供一些实用的案例分析?这样可以让小白更轻松地理解Git的基本概念和使用方法。
有15位网友表示赞同!
青楼买醉
我已经对Git有一个初步的了解了,但还是希望通过这篇文章进一步深化我的学习,尤其是在分支管理和合并方面。期待这篇教程能介绍一些高级用法,比如如何高效地使用 Git 进行代码协作工作。
有14位网友表示赞同!
月下独酌
感觉这个标题很吸引人!我一直想尝试Git这个版本控制工具,但是因为没有系统的入门指导,一直不敢下手。希望这篇文章能够满足我的需求,让我快速上手Git,开始探索它的奇妙之处!
有13位网友表示赞同!
你的眸中有星辰
其实对于 Git 的应用场景和优势有很多文章讨论,但很少有人像这篇教程一样侧重于讲解基本流程。从头到尾清晰地解释每个步骤,对入门者而言非常有帮助。期待学习更多 Git 的知识,提高我的开发效率!
有13位网友表示赞同!
仰望幸福
我之前看到过一些关于Git的视频教程,但是总是觉得太过抽象,难以理解具体的操作步骤。这篇教程就很有用!希望能够以文字的形式详细地讲解每个流程,并提供一些实践案例,让学习更加有效率!
有7位网友表示赞同!
回到你身边
我觉得 Git 已经成为了现代软件开发中不可或缺的一部分,掌握它不仅能提高代码组织效率,还能促进团队合作。这篇文章标题很吸引人,希望我能从中学习到 Git 的基础知识,并在实际项目中运用它。
有11位网友表示赞同!
青衫故人
这篇教程刚好可以帮助我回顾一下 Git 基本的流程概念。平时使用 Git 时会遇到一些较难的问题,希望能通过这篇文章再次强化理解,并能找到解决问题的新思路。
有12位网友表示赞同!