在Ubuntu Linux上安装和使用Git和GitHub

 更新时间:2018年09月27日 10:01:44   作者:Akshay Pai  
今天小编就为大家分享一篇关于在Ubuntu Linux上安装和使用Git和GitHub的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

Git的简介

Git是2005年Linus Torvalds 为了帮助管理 Linux(R) 内核开发而开发的一个开放源码的版本控制软件,正如所提供的文档中说的一样:

Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。

Github是一个存放着世界上最棒的一些软件项目的宝藏,这些软件项目由全世界的开发者无私贡献。这个看似简单,实则非常强大的平台因为大大帮助了那些对开发大规模软件感兴趣的开发者而被开源社区所称道。

这篇向导是对于安装和使用GitHub的的一个快速说明,本文还将涉及诸如创建本地仓库,如何链接这个本地仓库到包含你的项目的远程仓库(这样每个人都能看到你的项目了),以及如何提交改变并最终推送所有的本地内容到Github。

请注意这篇向导假设你对Git 术语有基本的了解,如推送、拉取请求(PR)、提交、仓库等等。并且希望你在GitHub上已注册成功并记下了你的GitHub用户名,那么我们这就进入正题吧:

1、在Linux上安装Git

下载并安装Git:

sudo apt-get install git

上面的命令适用于Ubuntu并且应该在所有最新版的Ubuntu上都能工作,它们在Ubuntu 16.04和Ubuntu 18.04 LTS(Bionic Beaver)上都测试过,在将来的版本上应该也能工作。

2、配置GitHub

一旦安装完成,接下去就是配置 GitHub 用户的详细配置信息。

Git有一个工具被称为git config,它允许你获得和设置配置变量;这些变量可以控制Git的外观和操作的各个方面。这些变量可以被存储在三个不同的位置: 

1./etc/gitconfig 文件:包含了适用于系统所有用户和所有库的值。如果你传递参数选项'--system' 给 git config,它将明确的读和写这个文件。        

2.~/.gitconfig 文件 :具体到你的用户。你可以通过传递--global 选项使Git 读或写这个特定的文件。    

3.位于git目录的config文件 (也就是 .git/config) :无论你当前在用的库是什么,特定指向该单一的库。每个级别重写前一个级别的值。因此,在.git/config中的值覆盖了在/etc/gitconfig中的同一个值。

在Windows系统中,Git在$HOME目录中查找.gitconfig文件(对大多数人来说,位于C:\Documents and Settings\$USER下)。它也会查找/etc/gitconfig,尽管它是相对于Msys 根目录的。这可能是你在Windows中运行安装程序时决定安装Git的任何地方。

请使用下面的两条命令,并确保用你自己的GitHub 用户名替换 user_name,用你创建 GitHub 账户的电子邮件替换 email_id。

git config --global user.name "user_name"
git config --global user.email "email_id"

下面的图片显示的例子是如何用我的GitHub 用户名:“akshaypai” 和我的邮件地址 “abc123@gmail.com ” 来配置上面的命令。

3、创建本地仓库

在你的系统上创建一个目录。它将会被作为本地仓库使用,稍后它会被推送到 GitHub 的远程仓库。请使用如下命令:

git init Mytest

如果目录被成功创建,你会看到如下信息:

Initialized empty Git repository in /home/akshay/Mytest/.git/

这行信息可能随你的系统不同而变化。
这里,Mytest 是创建的目录,而 init 将其转化为一个 GitHub 仓库。将当前目录改为这个新创建的目录。

cd Mytest

4、新建一个 README 文件来描述仓库

现在创建一个 README 文件并输入一些文本,如 “this is git setup on linux”。README 文件一般用于描述这个仓库用来放置什么内容或这个项目是关于什么的。例如:

gedit README

你可以使用任何文本编辑器。我喜欢使用 gedit。README 文件的内容可以为:

This is a git repo

5、将仓库里的文件加入一个索引

这是很重要的一步。这里我们会将所有需要推送到 GitHub 的内容都加入一个索引。这些内容可能包括你第一次加入仓库的文本文件或者应用程序,也有可能是对已存在文件的一些编辑(文件的一个更新版本)。
既然我们已经有了 README 文件,那么让我们创建一个别的文件吧,如一个简单的 C 程序,我们叫它 sample.c。文件内容是:

#include<stdio.h>
int main()
{
printf("hello world");
return 0;
}

现在我们有两个文件了。README 和 sample.c。
用下面的命令将它们加入索引:

git add README
git add smaple.c

请注意 git add 命令能将任意数量的文件和目录加入到索引。这里,当我说 “索引” 的时候,我是指一个有一定空间的缓冲区,这个缓冲区存储了所有已经被加入到 Git 仓库的文件或目录。

6、将所作的改动加入索引

所有的文件都加好以后,你就可以提交了。这意味着你已经确定了最终的文件改动(或增加),现在它们已经准备好被上传到我们自己的仓库了。请使用命令:

git commit -m "some_message"

“some_message” 在上面的命令里可以是一些简单的信息如“我的第一次提交”或者“ 编辑了readme 文件”,等等。

7、在 GitHub 上创建一个仓库

在 GitHub 上创建一个仓库。请注意仓库的名字必须和你本地创建的仓库的名字严格一致。在这个例子里是 “Mytest”。请首先登录你的 GitHub 账户 。点击页面右上角的 “+” 符号,并选择“create nw repository”。如下图所示填入详细信息,点击 “create repository”。

一旦创建完成,我们就能将本地的仓库推送到 GitHub 你名下的仓库,用下列命令连接 GitHub 上的仓库:

请注意:请确保在运行下列命令前替换了路径中的 “user_name” 和 “Mytest” 为你的 GitHub 用户名和目录名!

git remote add origin https://github.com/user_name/Mytest.git>

8、将本地仓库里的文件推送到 GitHub 仓库

最后一步是用下列的命令将本地仓库的内容推送到远程仓库(GitHub):

git push origin master

当提示登录名和密码时键入登录名和密码

下面的图片显示了步骤5到步骤8的流程

上述将Mytest 目录里的所有内容(文件)推送到了GitHub。对于以后的项目或者创建新的仓库,你可以直接从步骤 3 开始。最后,如果你登录你的 GitHub 账户并点击你的 Mytest 仓库,你会看到这两个文件:README 和sample.c 已经被上传并像如下图片显示:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • apache禁止遍历目录的实现步骤

    apache禁止遍历目录的实现步骤

    本文主要介绍了apache禁止遍历目录的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • linux下挂载VHD等虚拟磁盘文件的方法

    linux下挂载VHD等虚拟磁盘文件的方法

    本篇文章主要介绍了linux下挂载VHD等虚拟磁盘文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • CentOS 7安装完成后初始化的方法

    CentOS 7安装完成后初始化的方法

    这篇文章主要介绍了CentOS 7安装完成后初始化的方法,本文分步骤给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • Linux 逻辑卷管理(LVM)使用方法总结

    Linux 逻辑卷管理(LVM)使用方法总结

    这篇文章主要介绍了Linux 逻辑卷管理(LVM)的使用方法,文中命令十分详细,帮助大家更好的学习,感兴趣的小伙伴快来参考下
    2020-06-06
  • Linux配置实现免密钥登录过程解析

    Linux配置实现免密钥登录过程解析

    这篇文章主要介绍了Linux配置实现免密钥登录过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • linux中的7z命令参数说明

    linux中的7z命令参数说明

    Linux中的7z命令具备多样的参数来控制其功能,如添加文件、删除、提取、更新存档等。常用的命令包括a、d、e、x等,而开关如-o、-p、-m等则进一步定义了操作的细节,例如设置密码、输出目录和压缩方法。此命令强大且灵活,适合进行文件压缩和管理
    2024-09-09
  • CentOS 5.1下跑Mono和Asp.net的实现方法

    CentOS 5.1下跑Mono和Asp.net的实现方法

    由于想研究在linux下跑.net程序的可行性,于是尝试在CentOS5.1下搭建Mono环境和Asp.Net的服务器。Asp.Net的服务器是采用mod_mono和Apache的方式搭建(Nginx的搭建尚未研究)。
    2010-04-04
  • shell脚本设置防止暴力破解ssh

    shell脚本设置防止暴力破解ssh

    大家好,本篇文章主要讲的是shell脚本设置防止暴力破解ssh,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • CentOS-NAT模式下(DHCP)联网成功案例

    CentOS-NAT模式下(DHCP)联网成功案例

    这篇文章主要为大家详细介绍了CentOS-NAT模式下(DHCP)联网成功,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 修改.htaccess实现子目录绑定示例分享

    修改.htaccess实现子目录绑定示例分享

    这篇文章主要介绍了修改.htaccess实现子目录绑定示例,需要的朋友可以参考下
    2014-03-03

最新评论