Git 在线仓库
GitHub 是一个基于Web的软件开发项目托管服务,采用Git版本控制系统。它还提供了他们的标准图形用户界面应用程序可从服务的网站直接下载(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.
从现在开始,Tom可以将任何更改推送到 GitHub 仓库。他可以使用本章讨论的所有命令与 GitHub 仓库交互。
拉取操作
Tom成功将所有更改推送到 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