Git是在GPL的开源许可下发布的。它可以通过互联网免费使用。您可以使用Git来进行版本管理,而无需支付一分钱。由于它是一个开放源代码,您可以下载其源代码并根据您的要求执行更改。本文通过图文并茂的形式介绍如何在Ubuntu 18.04 Linux下安装Git,并且配置与GitHub上的仓库链接。
Git可以说是目前世界上最先进的分布式版本控制系统,主要功能:保存代码文件,保留历史纪录,可以回到过去,多端共享,团队协作等。
Git使用一种称为安全散列函数(SHA1)的常用加密散列函数来命名和标识其数据库中的对象。 每个文件和提交都会在结帐时通过校验和进行校验和检索。 这意味着,在不知道Git的情况下,不可能在Git数据库中更改文件,日期和提交消息以及任何其他数据。
熟练使用Git/Github是互联网公司程序员的必备技能之一。当开发中遇到困难或者职业技能遇到瓶颈时,Github简直是相见恨晚的利器,身为一线开发者,如果没有接触过Github,的确是一大损失。
考虑到很多Linux公社的网友可能对版本控制工具和Linux命令行工具都不是非常了解,我写了一个简单的文章来让大家学会入门使用方法。本课程就将带领大家敲开Git与Github的大门。
第一部分:GitHub相关基础知识
GitHub的简单使用与创建GitHub账号 请参考https://www.linuxidc.com/Linux/2015-02/114121.htm
接着创建一个GitHub开发者应用
1. 点击右上角你的头像,在下拉菜单中选择Settings。
2. 在左边的Personal settings(个人设置)中选择OAuth Apps。
3. 点击上图中的绿色按钮Register a new application,填写应用名称,你的主页,应用描述和回调URL。
4. 点击上图中的绿色按钮Register applciation注册应用,注册成功后,记住下一页中的Client ID和Client Secret值。
OK,现在你就可以使用此Client ID和Client Secret做GitHub三方登录了。
第二部分:Git相关基础知识
Ubuntu Linux下安装Git很简单
使用命令apt-get来安装
linuxidc@linuxidc:~$ sudo apt install git
配置用户名密码
linuxidc@linuxidc:~$ git config –global user.name “linuxidc”
linuxidc@linuxidc:~$ git config –global user.email root@linuxidc.net
此时,Home目录下会新建一个.gitconfig文件
为GitHub账号添加SSH Keys
1.生成Keys
linuxidc@linuxidc:~$ ssh-keygen -t rsa -C “root@linuxidc.net”
输出如下示例:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/linuxidc/.ssh/id_rsa):
/home/linuxidc/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/linuxidc/.ssh/id_rsa.
Your public key has been saved in /home/linuxidc/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:SJzejSuID3eygvca1i7Ci+TqTIbxWcXULnw949ZXyMM root@linuxidc.net
The key’s randomart image is:
+—[RSA 2048]—-+
| .. |
| + .. |
| .*. . . o |
| +oooo+ E .|
|. . ooS..+ o |
|.o.= . .o . . |
|o**.o . .. . |
|@o+= . . |
|BO*+o |
+—-[SHA256]—–+
linuxidc@linuxidc:~$
系统会提示key的保存位置(一般是~/.ssh目录)和指定口令,保持默认,连续三次回车即可
2.复制SSH Key到GITHUB
打开该文件,id_rsa.pub文件内的内容,粘帖到github帐号管理的添加SSH key界面中
linuxidc@linuxidc:~$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRTOMUbHoY8yr6fyYE43pL3bD7VUz9FvlGzi3ACX4jYeUcaPM+Ni5XBtM1ZPD1l1EN0fCNrSpR1Y1sw4dJzbeE9JFM/iLTugFyUaxaLcNPpqXkR4uxipheeM5aIg+523Lm2oR7HeImORjHPr2SN5ZR/YbLecMxhDbx3rAbeYYNtxBE9c9kRF0m0gyLneCo8HxIZz+9wXK2G/B5eZEpnG/8zWkGkCwRB16J6JeWF+9kjwohxXTtZHDjXSt8VysW0EFRkxjxSk5JOTPgPtJOPDKfmXWsw47OeY3gRJHCb4BCMxBvlU341Ncp/rYP/S9bWuUDWHCt8rkGoRXF/6LKw9FD root@linuxidc.net
登录github-> Settings-> SSH and GPG Keys-> New SSH key添加
3.测试是否连接成功
linuxidc@linuxidc:~$ ssh -T git@github.com
输出如下示例:
The authenticity of host ‘github.com (52.74.223.119)’ can’t be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
直接输入 yes 就可以了,然后提示成功:
Warning: Permanently added ‘github.com,52.74.223.119’ (RSA) to the list of known hosts.
Hi linuxidc! You’ve successfully authenticated, but GitHub does not provide shell access.
第二部分:创建一个本地linuxidc仓库
1. 在命令行输入 linuxidc@linuxidc:~$ mkdir linuxidc,创建一个新文件夹。你可以使用ls命令来查看当前目录下有哪些文件和文件夹。
linuxidc@linuxidc:~$ ls
Desktop Music www.linuxidc.com
Documents n 公共的
Downloads newrepo 模板
go n.pub 视频
google-chrome-stable_current_amd64.deb Pictures 图片
hello-word Public 文档
linuxidc readme.txt 下载
linuxidc.com snap 音乐
linuxidc.com.gif teamviewer_amd64.deb 桌面
linuxmi Templates
Linux公社 Videos
2. 输入cd命令进入新文件夹,注意在输入命令时,你可以用Tab键来自动补全。
linuxidc@linuxidc:~$ cd linuxidc
3. 输入git init初始化Git仓库。此时用ls -a查看当前目录,可以看到多了一个.git/的文件夹,此文件夹保存了版本控制的所有相关信息。
linuxidc@linuxidc:~/linuxidc$ git init
已初始化空的 Git 仓库于 /home/linuxidc/linuxidc/.git/
linuxidc@linuxidc:~/linuxidc$ ls -a
. .. .git
注意,在此处使用的所有命令,如果你是在Linux环境下开发,用法都是完全一样的。所以对于完全没有Linux使用经验的学员,这也是一个开始接触Linux工作方式的好方法。
接下来,让我们创建一份简单的说明文件,并提交到版本库中。
4. 输入echo “This is a simple practise” > readme.txt,创建一个readme.txt文件。
1-4步截图如下:
5. 输入git status查看当前版本库状态,在Untracked files(未跟踪文件)下,会出现红色的readme.txt,代表此文件还未被Git所管理。
6. 使用git add readme.txt,将该文件加入缓冲区,如果你确定所有的修改都需要提交,可以使用git add .来加入所有修改。现在用git status查看,将看到文件名变为绿色。
7. 使用git commit -m “This is my first commit via Git!”来提交修改,-m后面所带的参数是本次提交信息,一般用来记录本次提交的主要意图。
8. 提交成功后,可以用git log查看历史提交记录。每个记录都会有提交id,作者和提交日期。
9. 你可以用git branch查看当前有哪些分支,当然,因为我们没有创建任何分支,目前只会有一个master分支。
10. 使用git checkout -b feature创建一个名为feature的分支,再用git branch查看一下。
以上是最最基本的Git操作,大家可以在此linuxidc项目中随意尝试各种其他Git命令,最好的参考资料是Pro Git book,PDF下载见 https://www.linuxidc.com/Linux/2013-05/85066.htm。
注意:学会Git的唯一方式是在实际使用中学习,切记不要尝试先记住一大堆理论知识或者Git命令。
第三部分:项目的下载,查看和修改
第一步. 从GitHub上下载我们的项目代码。
1. 以linuxidc项目为例,点击绿色按钮Clone or download,然后在弹出窗口中点击剪切板图标,复制仓库的URL。
2. 在git bash中下载项目源码。
linuxidc@linuxidc:~/linuxidc$ git clone https://github.com/linuxidc/linuxidc.git
正克隆到 ‘linuxidc’…
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
展开对象中: 100% (3/3), 完成.
第二步. 查看版本历史
1. cd到项目文件夹下,使用git log能看到我们的历史提交记录。
2. 要回到某一历史版本,可以使用git checkout commitId,看完后要回到最新代码,使用git checkout master。
第三步. 本地修改代码
你可以在我们的代码基线上任意修改,但为了下载新代码时不出现冲突,请遵循以下步骤:
1. 下载新代码:git pull。
2. 从master出捡出一个新的分支:git checkout -b feature。feature是分支名称,你可以随意取名,但请用英文。
3. 在feature分支上随意修改,改完后你可以提交你的修改:git commit -m “some message” 。
4. 此时要同步代码,请先切回主分支:git checkout master,然后更新git pull。
5. 如果想删除自己建立的分支,使用git branch -D feature,注意执行此命令后分支被强制删除,无法恢复。
欢迎订阅Linux公社的RSS:https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址:https://www.linuxidc.com/Linux/2018-05/152611.htm