Git – 在线存储库
GitHub 是一个基于网络的软件开发项目托管服务,使用 Git 修订控制系统。它也有标准的GUI应用程序,可以直接从该服务的网站上下载(Windows、Mac、GNU/Linux)。但在本节课中,我们将只看到CLI部分。
创建GitHub仓库
进入github.com。 如果你已经有了 GitHub 账户,那么就用该账户登录或创建一个新账户。按照github.com 网站的步骤创建一个新的仓库。
推送操作
汤姆决定使用 GitHub 服务器。为了启动一个新的项目,他创建了一个新的目录,并在其中创建了一个文件。
[tom@CentOS]mkdir github_repo
[tom@CentOS] cd github_repo/
[tom@CentOS]vi hello.c
[tom@CentOS] make hello
cc hello.c -o hello
[tom@CentOS]$ ./hello
上述命令将产生以下结果:
Hello, World !!!
在验证了他的代码之后,他用git init命令初始化了目录,并在本地提交了他的修改。
[tom@CentOS]git init
Initialized empty Git repository in /home/tom/github_repo/.git/
[tom@CentOS] git status -s
?? hello
?? hello.c
[tom@CentOS]git add hello.c
[tom@CentOS] git status -s
A hello.c
?? hello
[tom@CentOS]$ git commit -m 'Initial commit'
之后,他把 GitHub 仓库的 URL 添加为远程原点,并把他的修改推送到远程仓库。
[tom@CentOS]git remote add origin https://github.com/kangralkar/testing_repo.git
[tom@CentOS] git push -u origin master
推送操作会要求输入 GitHub 的用户名和密码。认证成功后,操作就会成功。
上述命令将产生以下结果:
Username for 'https://github.com': kangralkar
Password for 'https://kangralkar@github.com':
Counting objects: 3, done.
Writing objects: 100% (3/3), 214 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/kangralkar/test_repo.git
* [new branch] master −> master
Branch master set up to track remote branch master from origin.
从现在开始,汤姆可以把任何改动推送到 GitHub 仓库。他可以对 GitHub 仓库使用本章中讨论的所有命令。
拉取操作
汤姆成功地推送了他所有的修改到 GitHub 仓库。现在,其他开发者可以通过执行克隆操作或更新他们的本地仓库来查看这些改动。
Jerry 在自己的主目录下创建了一个新目录,并使用 git clone 命令克隆了 GitHub 仓库。
[jerry@CentOS]pwd
/home/jerry
[jerry@CentOS] mkdir jerry_repo
[jerry@CentOS]$ git clone https://github.com/kangralkar/test_repo.git
上述命令产生的结果如下:
Cloning into 'test_repo'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
他通过执行ls命令来验证目录内容。
[jerry@CentOS]ls
test_repo
[jerry@CentOS] ls test_repo/
hello.c