GitHub——基础知识篇

简介: 上周,我在 FITC SCREENS 为设计师们做了一次关于GitHub的演讲,你可以在这里看一下演讲的幻灯片。我觉得把演讲的精华内容放在博客上让大家都能看到,是一件很重要的事,所以这就是你接下来将要看到的。

上周,我在 FITC SCREENS 为设计师们做了一次关于GitHub的演讲,你可以在这里看一下演讲的幻灯片。我觉得把演讲的精华内容放在博客上让大家都能看到,是一件很重要的事,所以这就是你接下来将要看到的。

image.png

Git是一个管理和更改文件的工具,GitHub的是建立在Git上的一个Web服务。这篇文章就是准备向你介绍一些Git和GitHub的基础知识,并教你如何使用这些工具与你的团队成员协作。


Git可以管理任何类型的文件,但它通常用于文本文件和图像管理。通常情况下,我们不会用它来存储格式比较复杂的文件,比如PSD文件。


我们使用Git有两个主要原因。其一是它可以帮助我们管理多个团队成员在相同的文件上做的更改 —— 帮助我们跟踪谁在什么时候、做什么样的更改。使用Git的好处是很具体的,但它又有一个陡峭的学习曲线。然而,学习Git是伟大的第一步,它教你学着去改变你已设计的项目。本文也不打算深入到命令行或一个特定的工具,而是教你一些高层次的概念,这将有助于你无视工具的不同(因为它们本质上都是一样的)。

分支(Branches)

分支用来隔离文件更改的。想像一下,你所有的文件复制被到一个新文件夹,所做的任何更改只是在副本操作,在最后你 拉(pull)这些副本放回到原来的文件夹。

一个分支就是像对你所有的文件做一份复制。

“主”分支(“master” branch)是一个标准分支 —— 所有新分支都是在主分支上创建的。

image.png

当你从主分支创建一个新的分支,就像你为所有的文件创建了一份新副本,这些副本上所做的更改并不会反映回原文件夹(更改新分支内容,主分支不会有变化,除非你 push,接下来会有讲到)。

提交(Commits)

当你操作一个分支时,就像你正在做修改这些文件的副本。当你完成了一个更改,比如增加了一些新的CSS,你应该 提交(Commits) 你的修改。这种“保存”在新目录中的新文件的快照,可以让你随后 恢复(revert) 到该时间点。在你提交之前,没有什么是永久的,所以你可以很容易地做出一些奇怪的、实验性的更改,看它是否还能正常工作。

当你提交时,你只是提交给你的分支,你的分支仍然是那个主分支的一部分,代表的是一系列的提交操作之后的结果。

image.png

上图你的分支(Your Branch) 就是有两次提交结果之后的分支,依旧是主分支的一部分。

本地和远程(Local & Remote)

这是让Git变得有点复杂的那部分。主分支和你的分支都存在于 本地(Local),也有主分支的一个副本在GitHub上,即 远程端(Remote)。这就像在办公室有一个共享文件服务器,它有一个与你保持同步的文件夹。

当你创建一个新的分支,所有的修改都是在本地操作(你电脑的文件夹中)。

image.png

同样,你的分支只存在于你的本地计算机上,直到你把它 推到(push) 远程端,这就是接下来要说的。

推送和拉回(Pushing & Pulling)

当你准备向人展示你的更改时,你就应该把你的分支,其中包括变更,都 推送(push) 到GitHub上。这类似于你把自己本地最新版本的文件夹复制到共享的文件服务器。

image.png

现在你的最新版本分支在本地和远程端都有了。一旦你把你的更改推送到GitHub上,就需要创建一个 拉回(pull) 的请求(原因往下看),这是一个将你的分支更改拉回到主分支的请求。

image.png

一旦这些更改都被拉入远程主分支,你的本地主分支的版本是过时的(记住,此时你的分支上的更改会被暂时孤立),所以现在又需要从远程拉最新的版本来更新您的本地主分支,就像从服务器重新复制原始文件。

image.png

现在就令人困惑了,因为我们在两种情况下都使用了“拉”一词。第一次,我们想把我们的分支更改合并到主分支;第二次,我们想把主服务器上的更改拉回到本地以保持最新版。

总之,Git是团队协作时一个非常好用的文件管理工具,不过学起来确实比较复杂。我们都知道要想熟悉它,最好的方式就是不断去用它。

相关文章
|
开发工具 git Ruby
GitHub的基础使用入门
GitHub的基础使用入门
925 0
|
4月前
|
JSON Kubernetes 安全
找到啦,我们已上车,Github 27000+ star,研发团队必备开源工具项目,真丝滑!!!
Trivy 是一款高效灵活的开源安全扫描工具,支持容器镜像、文件系统、Kubernetes 等多目标扫描,具备快速、易用、集成性强等特点,适用于 DevSecOps 全流程安全检测。
207 0
|
3月前
|
人工智能 JavaScript 前端开发
Github 2024-10-28 开源项目周报 Top15
本周GitHub热门项目涵盖Svelte、Open Interpreter、PowerShell等,涉及Web开发、AI助手、自动化工具等领域,Python、JavaScript为主流语言,展现开源技术活跃生态。(239字)
485 19
|
3月前
|
人工智能 JavaScript 前端开发
Github 2024-11-04 开源项目周报 Top14
本周GitHub热门项目涵盖屏幕截图转代码、网页监控、低代码开发等。Python与TypeScript主导,亮点项目包括AI生成代码工具、开源社交应用Bluesky及机器人框架LeRobot,展现AI与自动化技术的快速发展趋势。
226 15
|
3月前
|
人工智能 JavaScript Docker
Github 2024-11-11 开源项目周报 Top15
本周GitHub热门项目涵盖多领域:Python与TypeScript领跑,包括屏幕截图转代码、本地文件共享、PDF处理、AI开发代理等。亮点项目如screenshot-to-code、LocalSend、OpenHands及Diagrams,兼具创新与实用性,广受开发者关注。
305 13
|
3月前
|
人工智能 算法 JavaScript
Github 2024-10-14 开源项目周报 Top14
本周GitHub热门项目共14个,Python项目占7席。涵盖算法实现、生成式AI、金融分析、目标检测等领域,包括TheAlgorithms系列、OpenBB金融平台、Ultralytics YOLO11、Manim动画框架等,展现开源技术多元发展态势。
162 8
|
3月前
|
人工智能 Rust JavaScript
Github 2024-10-07 开源项目周报 Top15
本周GitHub热门项目共15个,Python项目占比最高达7个。榜首为Python算法实现集合TheAlgorithms/Python,Star数超17万;其他亮点包括Godot游戏引擎、OpenBB金融平台、ToolJet低代码框架及新兴AI相关项目如Crawl4AI、Llama Stack等,涵盖游戏、金融、AI、理财等多个领域。
171 4
|
3月前
|
人工智能 Rust 算法
Github 2024-09-30 开源项目周报 Top15
本周GitHub热门项目揭晓:Python主导,AutoGPT居首,涵盖AI、编程、数学动画等领域,助力开发者探索前沿技术。
160 4
|
3月前
|
人工智能 JavaScript 前端开发
Github 2024-09-16 开源项目周报 Top14
本周GitHub热门项目涵盖Python、TypeScript、Go等语言,React居首。亮点包括微软PowerToys、Node版本管理器、AI证件照工具HivisionIDPhotos及端侧大模型MiniCPM等。
142 2
|
3月前
|
Rust JavaScript 安全
Github 2024-09-02 开源项目周报 Top13
本周GitHub热门项目涵盖AI、开发工具与开源替代品。包括Notion替代AppFlowy、Airtable替代NocoDB、云平台Coolify及可观察性平台OpenObserve等,涉及Python、TypeScript、Rust等语言,聚焦效率、隐私与自动化。
220 1

热门文章

最新文章