【教程】让你一分钟认识GitHub

系统 系统运维
机缘巧合之下,我开始使用GitHub,但事实上,刚刚入门的我不知道如何才能使GitHub发挥他的全部功能。不久之前,我偶然听了李福斯先生对GitHub的介绍,受益匪浅。Git是一个分布式的版本控制系统。 

  机缘巧合之下,我开始使用 GitHub ,但事实上,刚刚入门的我不知道如何才能使 GitHub 发挥他的全部功能。不久之前,我偶然听了李福斯先生对 GitHub 的介绍,受益匪浅。 

简单的来说, Git 是一个分布式的版本控制系统。顾名思义,在你编辑程序代码的时候(特别是在多人协作一个项目时),它将会自动帮你实现代码以及版本的更新。这意味着你不必每次都手动地将自己修改的内容同步到云端。这些工作都可以由 Git 在适当的时候自动完成。这样既能避免手动同步的麻烦和风险,更能为程序员省下大量时间。

  一、安装与配置

  虽说Git 预装在所有 Mac 和 Linux 电脑中,但预装的 Git 无一例外都版本陈旧。所以,无论你是使用Mac , Linux 还是 Windows ,都必须自己安装 Github。

  安装过程在这里就不再赘述。安装完成之后,最重要的一步当然是配置 Git。

  先执行以下命令:

  1. $ git config --list 

  这条命令将会读取并显示 Git 的配置文件,包括个人身份信息和配色等各方面内容。

  使用”git config”命令,你可以修改 Git 的配置文件来打造属于你的***的工作环境。但首先,你必须配置你的用户昵称和邮箱。因为这些信息会嵌入到你提交的所有文件中。

  执行以下命令配置,请注意,这条命令只能执行一次,因为 Git 将一直使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令但不附加 –global 选项。

  1. $ git config --global user.name [name] 
  1. $ git config --global user.email [em] 

  二、创建副本

  在开始编辑你的项目之前,你需要从 Github 上面把你托管在云端的项目抓取到本地。

  执行以下命令:

  1. $ git clone [url] 

  这将在您的系统上创建与 GitHub 上 Git 储存库相匹配的文件夹结构。

  GitHub 的提示:在一个库中,如果你按住“t”键,你将进行过滤搜索,用来查找与您搜索的文件名匹配的文件。因为 GitHub 是一个文本编辑器,所以你可以很方便的在其中改动内容并且直观的看到改变的结果。

  在做出正式改变之前,***先新建一个“分支”并在分支中工作。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。这将有利于你对一个大型项目做一些小的改动。

  执行以下命令:

  1. $ git branch feature/add-subtraction 
  1. $ git checkout feature/add-subtraction 

  这将创建一个新的分支,在分支上工作将允许你在本地迭代局部代码,而无需担心搞砸主线。如果你搞砸了,只需要放弃该分支,并重新创建一个基于主线的分支即可。

  三、做出改变

  如果想要知道当前目录所有还没有被git管理的文件,或者是被git管理且被修改但还未提交的文件,那么执行以下命令:

  1. $ git status 

  你可以通过执行以下命令提交更改:

  1. $ git commit src/main/java/com/github/Calculator.java -m "added subtraction" 

  该命令用于在沙盒提交更改,并同时附加“添加去除(added subtraction)”的消息。必须记住的是,这种变化仅仅是在本地机器上做出变更,你必须把变更推送到 GitHub 上。

  要提交变更,执行以下命令:

  1. $ git push origin feature/add-subtraction 

  现在你会看到一个新的分支列表,它列出了原有分支的增减变化。***,如果你如果想把这些提交给管理员,你需要发送一个“拉取”的请求,让你的分支被拉取到主分支上。你发送的拉取请求可以通过在 GitHub 上启动一个关于在这个代码的特征会话来完成。

  你还可以用 GitHub 来做很多事情,现在我已经准备好开玩一些新项目了!

原文链接:http://opensource.com/life/15/11/short-introduction-github

责任编辑:武晓燕 来源: Linux Story
相关推荐

2017-03-30 19:28:26

HBase分布式数据

2018-06-26 05:23:19

线程安全函数代码

2020-05-21 19:46:19

区块链数字货币比特币

2017-07-06 08:12:02

索引查询SQL

2022-07-18 06:16:07

单点登录系统

2017-02-21 13:00:27

LoadAverage负载Load

2018-07-31 16:10:51

Redo Undo数据库数据

2011-02-21 17:48:35

vsFTPd

2018-12-12 22:51:24

Java包装语言

2020-07-17 07:44:25

云计算边缘计算IT

2016-09-12 17:28:45

云存储应用软件存储设备

2020-07-09 07:37:06

数据库Redis工具

2023-01-03 08:36:34

MySQL索引

2013-11-15 07:24:50

4G LTE图解

2020-06-11 08:04:12

WDMDWDMMWDM

2016-12-16 11:05:00

分布式互斥线程

2021-08-06 08:50:45

加密货币比特币区块链

2018-03-27 09:28:33

缓存策略系统

2018-06-26 10:52:45

2009-09-21 16:20:12

点赞
收藏

51CTO技术栈公众号