GitHub使用前的准备工作 使用Git推送代码至GitHub

首先需要在本地环境的安装Git,鳄鱼君这里以Windows为例。在Windows环境中,推荐使用msysGit。安装Docker toolbox也会附加Git Bash,也可以选择这种方式。

Git安装

下载地址:https://github.com/git-for-windows/git/releases/tag/v2.27.0.windows.1 选择对应系统的版本,最新版本为2.27.0,如果下载速度缓慢,科学上网!安装过程比较简单,这里不再详细介绍!

GitHub中公开的代码大部分都是以Mac或Linux中的LF(Line Feed)换行。然而,由于Windows中是以CRLF(Carriage Return+Line Feed)换行的,所以在非对应的编辑器中将不能正常显示。

Git可以通过设置自动转换这些换行符。在安装“Git for windows”的时候,在“Configuing the line ending conversions”页面,将默认选中改为“Checkout as-is, commit as-is”即可。如果已经安装过Git,可以通过命令行修改,打开“Git Bash”,然后输入

git config --global core.autocrlf false

也可以在“Git Bash”中修改~/.gitconfig文件,加入或修改下面的行

autocrlf = false

初始设置

对本地计算机里安装的Git进行设置。

设置姓名和邮箱地址

设置使用Git时的姓名和邮箱地址,名字使用英文:
$ git config --global user.name "your_name"
$ git config --global user.email "your_email"
这个命令,会在“~/.gitconfig”中以如下形式输出设置文件。
[user]
  name = Firstname Lastname
  email = your_email@example.com

如果想要修改信息,可以直接编辑这个设置文件。这里设置的姓名和邮箱地址会用在Git的提交日志中。由于在GitHub上公开仓库时,这里的姓名和邮箱地址也会随着提交日志一同被公开,所以请不要使用不便公开的隐私信息。

在GitHub上公开代码后,前来参考的程序员可能来自世界任何地方,所以请不要使用汉字,尽量用英文进行描述。当然,如果您不想使用真名,完全可以使用网络上的昵称。

提高命令输出的可读性

color.ui设置为auto可以让命令的输出拥有更高的可读性。

$ git config --global color.ui auto
~/.gitconfig 中会增加下面一行。

[color]
  ui = auto
这样一来,各种命令的输出就会变得更容易分辨。

使用前的准备

创建账户

创建GitHub账户:https://github.com/join 在Username一栏中用英文和数字输入要创建的ID,您的公开页面的URL(http://github.com/ID)会用到这个ID。其他项目也请按照页面要求输入。填写完所有项目后点击Create an account,就能完成账户的创建。账户创建完成后会直接进入登录状态,用户可以立即开始使用GitHub。登录状态下用户名会显示在页面的右上方。 如果在验证账户的时候出现:Unable to verify your captcha response.更换QQ浏览器,或者在手机的QQ浏览器上注册验证账户!

设置头像

头像并不是使用GitHub时的硬性要求,但是真人头像更有助于理解你和你的代码。更换头像的方式比较简单,这里就不再介绍了!

设置SSH Key

GitHub上连接已有仓库时的认证,是通过使用了SSH的公开密钥认证方式进行的。现在让我们来创建公开密钥认证所需的SSH Key,并将其添加至GitHub。已经创建过的读者,请用现有的密钥进行设置。运行下面的命令创建SSH Key:

$ ssh-keygen -t rsa -C "your_email"

Generating public/private rsa key pair.
Enter file in which to save the key
(/Users/your_user_directory/.ssh/id_rsa):  按回车键
Enter passphrase (empty for no passphrase):  输入密码
Enter same passphrase again:  再次输入密码
“your_email” 改成您在创建账户时用的邮箱地址。密码需要在认证时输入,请选择复杂度高并且容易记忆的组合。输入密码后会出现以下结果,
Your identificatio
Your identification has been saved in /Users/your_user_directory/.ssh/id_rsa.
Your public key has been saved in /Users/your_user_directory/.ssh/id_rsa.pub.
The key fingerprint is:
 fingerprint的值  your_email
The key's randomart image is:
id_rsa文件是私有密钥,id_rsa.pub是公开密钥,

添加公开密钥

在GitHub中添加公开密钥,就可以用私有密钥进行认证了。点击右上角的账户设定按钮( Settings),选择SSH Keys菜单,点击Add SSH Key,会出现Title和Key两个输入框:

在Title中输入适当的密钥名称。Key部分请粘贴id_rsa.pub文件里的内容。id_rsa.pub的内容可以使用命令查看:
$ cat ~/.ssh/id_rsa.pub
ssh-rsa 公开密钥的内容 your_email
添加成功之后,创建账户时所用的邮箱会接到一封提示“公共密钥添加完成”的邮件。完成以上设置后,就可以用手中的私人密钥与GitHub进行认证和通信了。
$ ssh -T git@github.com

The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is fingerprint值 .
Are you sure you want to continue connecting (yes/no)? 输入yes
Enter passphrase for key '/c/Users/xjj eyujun/.ssh/id_rsa': 输入账户密码
出现如下结果即为成功
Hi hirocastest! You've successfully authenticated, but GitHub does not
provide shell access.

仓库使用

创建一个公开的仓库。点击右上角的+号工具栏的New repository,创建新的仓库: Repository name

在Repository name栏中输入仓库的名称

Description

Description栏中可以设置仓库的说明。这一栏不是必需项,可以留空。

Public、Private

在这一栏可以选择Public还是Private。选择Public,创建公开仓库,仓库内的所有内容都会被公开;选择Private可以创建非公开仓库,用户可以设置访问权限,但收费。

Initialize this repository with a README

在Initialize this repository with a README选项上打钩,随后GitHub会自动初始化仓库并设置README文件,让用户可以立刻clone(克隆)这个仓库。如果想向GitHub添加手中已有的Git仓库,建议不要勾选,直接手动push。

Add .gitignore

下方左侧的下拉菜单,可以在初始化时自动生成.gitignore文件。这个设定会帮我们把不需要在Git仓库中进行版本管理的文件记录在.gitignore文件中,省去了每次根据框架进行设置的麻烦。下拉菜单中包含了主要的语言及框架,选择今后将要使用的即可,不用不选!

Add a license

右侧的下拉菜单可以选择要添加的许可协议文件。如果这个仓库中包含的代码已经确定了许可协议,那么请在这里进行选择。随后将自动生成包含许可协议内容的LICENSE文件,用来表明该仓库内容的许可协议。

输入选择都完成后,点击Create repository按钮,完成仓库的创建。

连接仓库

按照上面的方式创建的仓库URL地址:https://github.com/用户名/仓库名称 README.md

README.md在初始化时已经生成好了。README.md文件的内容会自动显示在仓库的首页当中。因此,人们一般会在这个文件中标明本仓库所包含的软件的概要、使用流程、许可协议等信息。如果使用Markdown语法进行描述,还可以添加标记,提高可读性。

公开代码

在刚才创建的仓库中添加代码,需要将已有仓库clone到身边,clone时需要指定路径:
$ git clone git@github.com:GitHub账户名称/hello-world.git
Cloning into 'hello-world'...
Enter passphrase for key '/c/Users/usrname/.ssh/id_rsa': 输入账户密码
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
Checking connectivity... done.

$ cd Hello-World
认证成功后,仓库便会被clone至仓库名后的目录中。将想要公开的代码提交至这个仓库再push到GitHub的仓库中,代码便会被公开。

编写代码

编写一个hello-world.py,文件的内容只是简单打印hello world,这里自己编辑:
vim hello_world.py

提交代码

将hello_word.py提交至仓库,这个文件就会进入版本管理系统的管理,需要更改都由Git进行。

$ git add hello_world.py
$ git commit -m "Add hello world script by py"
通过git add命令将文件加入暂存区,再通过git commit命令提交。添加成功后,可以通过git log命令查看提交日志。
$ git log

最后只要执行push,github上的代码就会被更新:

$ git push
Enter passphrase for key '/c/Users/xjj eyujun/.ssh/id_rsa': 输入git账户密码
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 310 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:eyujungit/hello-world.git
   515d3cc..9f0a19c  master -> master

发表评论