GitHub前期准备
###1. 初始设置
设置姓名和邮箱
$ git config --global user.name "zhaojun"
$ git config --global user.email "zhaojunhhu@gmail.com"
提高命令输出的可读性
$ git config --global color.ui auto
查看Git配置
$ cat ~/.gitconfig
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
[user]
name = zhaojun
email = zhaojunhhu@gmail.com
[color]
ui = auto
[push]
default = simple
###2. 设置SSH Key
GitHub上连接已有仓库时的认证,是通过使用SSH的公开密钥认证方式进行的。创建公开密钥认证所需的SSH Key,并将其添加至GitHub。
$ ssh-keygen -t rsa -C "zhaojunhhu@gmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/zhaojun/.ssh/id_rsa):按回车键
Enter passphrase (empty for no passphrase):输入密码
Enter same passphrase again:再次输入密码
our identification has been saved in /Users/zhaojun/.ssh/id_rsa.
Your public key has been saved in /Users/zhaojun/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:yewmWCjET1f9DqMkidGyHJfsEsOPd7GDNTzRKXtb4W0 zhaojunhhu@gmail.com
The key's randomart image is:
+---[RSA 2048]----+
| . o oo+ . |
| . B =.B + . |
| o..&.+ B o o |
| . o*oBo*.+ + E |
| . oo.+S+ * . |
| . o .. . . |
| . . o |
| o |
| |
+----[SHA256]-----+
**id_rsa.**文件是私有密钥,**id_rsa.pub.**文件是公开密钥。
查看公开密钥和私有密钥
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQ40vJ4XGwFktKFkCpCwHQDXV3/HK1gXAV50iZuixo0mJVFBSmoF5XR5I2FPPpdVCR4EqDRaJ5jMW/imEXThly81RL9ZsiLUuOXUHn34JCnVzqyvwCvAdXhq0bhQM3sqZLESYTJH6l/JE4vB9YTZzozlFWALXtahdlBEOrOj38Po/4A5QHyybhMTmQmmUcHIlP34P6JpwmAaQ8MmL5NUfjHkEweVs2AKp37PnM2BNCkrYuaCvwafZGILxR+jgPj/ZqX3aGaq4EcnDHHS4c5hDrbsNTxXKrZIvANKnDF/P2AQHw3KO5iOu4UwOl5GITH7aWMyrN5FzNIP1tVagbJRL7 zhaojunhhu@gmail.com
$ cat ~/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,CC87BF13D69D920E9991835CB9FFA81D
X+m1S4BwFGE40WPElFZtY/bn7oGi7nkMbQ/PBM2r+saCDGdP+i1VshlpgbMHXiVq
u7dS58jEmDLfDcFQRpCWNuUMzi60WeoamWSqIK1K2NEj/jrmx8QwWIydYLBDNVMY
Fxr3aHK0jMdhd2ESw6EyqlZgiqMeIDVPYDRaIrrCPXa1NnY6YKsNFNCPl+4ywq2R
uMVlVr2RuejydhE+qWR5tvXYMOhLNOGl+t596ThTqiyfxg4Xx1LuQWtRC7nWDn0E
X5siRHTea3JrGuWXBHe3ILajDhFQo2lwlp7cv1g1cmMyrLAwVNDPHENpLIJ4s+45
OPUPIeDXWZKyqln3lP7SNIAgOSB5iD4WgQFb/v1ItfW4Vq9C4ax2vD9Dn+QfX582
nGS4YSzjnTJHLO2ZQaMMgp79ODn7HEvYOpO8V4fGvSb97PArirUXK1sGSjHI5FVY
Xp5q4O0jt3xyDY91X0rP/Nu/WVFXuXZpYxW9tulcngOZ8/Y8pQTLm6SlLTJPIo0r
lEGlYsEctjSTheWeq2On57lduhsg/mwjV1vOjGHXAWnfNUHDnrS68u3tLwrM7dfS
0nkUoNAZXV/wT3ieWv2lDycUADuppuKVRGIn5P/5xMaJ3Gyyk6ed5MHvDfRKwofj
jQD6jvxcR/y2Kd6Fn4tSHBIWXn9OMiAketzGkb2l8mMBEmOly10FVYujsl9TILPn
OkW4ZNdrDlSFdd74ZTUdG1t7B3+NaR1ufmnBBXZmEq1VkNOWTF6ai8cQ0AyMF8xW
DbAB2RgWUCxXG9jfFw5F7RFGj9XTzKFK5A6oHefC6tFxHu7sQG4qz45N8Ai4/M6L
/gigY1ctmwluHLtT1X4E2npYqkhjHKNcPbPZJrJeTpURMblm7/sYrpIAIUPPyRrC
OFnXiPwo0cUMNt5rtuGHt1CikFlm6/kyiWwzKkasWsYjrndl0iWiTUQjScXJiwia
ozimA0KWfC9QqSZgN4B/+eheYlRGc/NHPSIM8X++katiIsUDaTpG0pVZ7CLWtaSg
NV5QrXAhn07FFOxdkbMwKzOYiWg7KK9gz11hhYtuPdjUK5rg2IPNA4jXadKGsEvH
r71aKfj4mO2bFXnTUngFe6sKsTiyFOiT8r52hk1ufdYL+fRsJ6Bzdw0jgUKyxtN1
wZ4n5I88niPlRJgDs5dyYVi3Akp9E5XIkwq+qy9HMjxZliG/G0oGtp9SI3PrTKq6
hp0HFjaMAcM2Axy+M/QzhTV6qfnSlqljwxQjMsKadgbxRvebIjhtWEp76nKqkq7u
aYoUXx9nxx26vs9Lz9O0MUsNsiLFNeVX0Jqdi0IyCY1iIBgpoZG3LkZP4VADrlGa
+HEIDDR1yEwM9OVk+EK6lFBdz/pIYVbI5SbehO8LAf7C01Shng1wHUlGrKg9Shak
JIQBjf+QenlEl7BA10muv1vECj3e6q0leD3LzSGSRTRc1LzqTh4ZFCts8FS5WnO7
DAb95zyN1sBBDxAiwefeGNtE5Ioxn1thF7dY/QSPMUvMChPj8eq3OPMlP2EQT7hh
jernSXaT8Ema3qWZAfz2OTO+GMluAFTWL7moCgVkgObRFQvfo7fWYNywrkRU1FoG
私人密钥与GitHub认证通信
$ ssh -T git@github.com
Hi zhaojunhhu! You've successfully authenticated, but GitHub does not provide shell access.
###3. 公开代码
clone已有仓库
$ git clone git@github.com:zhaojunhhu/hello-world.git
Cloning into 'hello-world'...
remote: Counting objects: 10, done.
remote: Total 10 (delta 1), reused 1 (delta 1), pack-reused 8
Receiving objects: 100% (10/10), done.
Resolving deltas: 100% (1/1), done.
Checking connectivity... done.
编写代码
hello-world文件夹中添加index.php和process.php2个文件,由于这2个文件还没有添加至Git仓库,所以显示为Untracked files。
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
index.php
process.php
nothing added to commit but untracked files present (use "git add" to track)
提交
将index.php和process.php提交至仓库,文件进入版本管理系统的控制。今后的更改管理都交由git进行。
$ git add index.php process.php
$ git commit -m "Add php script"
[master cc7f6ed] Add php script
2 files changed, 29 insertions(+)
create mode 100644 index.php
create mode 100644 process.php
通过git add命令将文件加入暂存区,再通过git commit命令提交。添加成功后,可以通过git log命令查看提交日志。
$ git log
commit cc7f6ed7a65c6cd2e65770bbf124bd80471473e5
Author: zhaojun <zhaojunhhu@gmail.com>
Date: Fri Mar 4 15:49:13 2016 +0800
Add php script
进行push
通过push更新GitHub上的仓库。
$ git push
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 605 bytes | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To git@github.com:zhaojunhhu/hello-world.git
2c9c923..cc7f6ed master -> master
Last updated
Was this helpful?