github基本使用
一、安装GIT客户端
二、建立连接
本地 Git 与 GitHub 服务器之间保持通信时,使用 SSH key 认证方式来保证通信安全, 所以在使用 GitHub 前读者必须先创建自已的 SSH key。
我们后续的演示会在 Windows 环境下进行,打开 Git Bash,如图 13.3 所示。
图 13.3 Git Bash 界面
- 进入 SSH 目录
fnngj@FNNGJ-PC ~
$ cd ~/.ssh
fnngj@FNNGJ-PC ~/.ssh
$ pwd
/c/Users/fnngj/.ssh
- 生成新的 SSH 秘钥
如果你已经有了一个秘钥(默认秘钥文件位置在 C:/Users/fnngj/.ssh/id_rsa)
fnngj@FNNGJ-PC ~/.ssh
$ ssh-keygen -t rsa -C "fnngj@126.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/fnngj/.ssh/id_rsa): --回车
Enter passphrase (empty for no passphrase): --回车
Enter same passphrase again: --回车
Your identification has been saved in /c/Users/fnngj/.ssh/id_rsa.
Your public key has been saved in /c/Users/fnngj/.ssh/id_rsa.pub.
The key fingerprint is:
78:51:9b:2c:6c:fb:74:0b:6b:b9:c4:23:8f:5e:10:6b fnngj@126.com
The key's randomart image is:
+--[ RSA 2048]----+
| . |
| . o o |
| * + |
| o * |
| . E o . |
| o = = . |
| . X . |
| B o |
| .o o |
+-----------------+
fnngj@FNNGJ-PC ~/.ssh
$ ls
id_rsa id_rsa.pub
查看目录下会生成两个文件, id_rsa 是私钥, id_rsa.pub 是公钥。记住千万不要把私钥 文件 id_rsa 透露给任何人。
- 添加 SSH 公钥到 GitHub
用文本工具打开公钥文件~/.ssh/id_rsa.pub,复制里面的所有内容到剪贴板,如图 13.4 所示。 登录 GitHub, 单击右上角个人头像→Settings→SSH Keys→Add SSH Keys , 在 Title 文 本框中输入任意字符,在 Key 文本框粘贴刚才复制的公钥字符串,单击“Add key”按钮 完成操作,如图 13.5 所示。
- 测试连接 以上步骤完成后,可以通过以下命令来测试是否可以连接 GitHub 服务器。
fnngj@FNNGJ-PC ~/.ssh
$ ssh -T git@github.com
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of know
n hosts.
Hi defnngj! You've successfully authenticated, but GitHub does not provide shell
access.
三、GitHub 创建项目
四、本地创建项目
- 首先进行初始化配置:设置仓库人员的用户名和邮箱地址,这一步必不可少。
fnngj@FNNGJ-PC ~/.ssh
$ git config --global user.name "fnngj"
fnngj@FNNGJ-PC ~/.ssh
$ git config --global user.email "fnngj@126.com"
在本地创建一个“project-name”项目,与 GitHub 上创建的项目名保持一致。在项目下创建一个 test_case.py 文件。
fnngj@FNNGJ-PC /d/project-name
$ ls
test_case.py
- “git init”命令用于对当前目录进行初始化,将当前的 project-name 目录交由 Git 进行 管理。
fnngj@FNNGJ-PC /d/project-name
$ git init
Initialized empty Git repository in d:/project-name/.git/
- “git status”命令用于查看当前项目下所有文件的状态
fnngj@FNNGJ-PC /d/project-name (master)
$ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
test_case.py
nothing added to commit but untracked files present (use "git add" to track)
- “git add”命令将文件交由 git 进行跟踪。如果后面跟空格加点号“.”,则表示对当前 项目下的所有文件进行跟踪。跟踪即待提交状态
fnngj@FNNGJ-PC /d/project-name (master)
$ git add .
fnngj@FNNGJ-PC /d/project-name (master)
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: test_case.py
- “git commit”命令将文件(由 git 跟踪的文件)提交到本地仓库。 -m 参数对本次的提 交加以描述,通常提交的描述必不可少,从而方便追溯每次提交都做了哪些修改。
fnngj@FNNGJ-PC /d/project-name (master)
$ git commit -m "first commit file"
[master (root-commit) 9b4b839] first commit file
1 file changed, 9 insertions(+)
create mode 100644 test_case.py
- 准备工作已经完成,下面提交代码到 GitHub。这里 GitHub 提供了两种连接方式:HTTPS 和 SSH,提交的地址有所不同,可查看前面 GitHub 提示信息。
如果是第一次提交项目,通过这一行命令将本地的项目与远程的仓库建立连接。此处使用 SSH 方式进行连接:
git remote add origin git@github.com:defnngj/project-name.git
将本地的项目提交到远程仓库的主分支。
git push -u origin master
五、克隆项目
- 首先,下载安装 Git。
- 其次,通过 Git 生成本地公钥,并且将公钥添加到 GitHub 中。
- 最后,设置仓库人员的用户名和邮箱地址
- “git add”: 对当前目录下的文件添加跟踪。
- “git commit”: 将更新的文件提交到本地仓库。
- “git push”: 将本地项目提交到远程仓库 GitHub。
- 除第一次下载项目需要通过“git clone”将项目克隆到本地外,后续则使用“git pull” 命令将 GitHub 的更新拉取到本地。
Henry