git 在线存储库

  • 在线存储库

    GitHub是基于Web的托管服务,用于使用Git版本控制系统的软件开发项目。它还具有可直接从服务网站下载的标准GUI应用程序(Windows,Mac,GNU / Linux)。但是在本次教程中,我们只会看到CLI部分。
  • 创建GitHub存储库

    转到github.com。如果您已经拥有GitHub帐户,请使用该帐户登录或创建一个新帐户。按照github.com网站上的步骤创建新的存储库。
  • 推送操作

    Tom决定使用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/youname/reponame.git
    
    [tom@CentOS]$ git push -u origin master
    
    推送操作将要求GitHub用户名和密码。认证成功后,操作将成功。上面的命令将产生以下结果:
    
    Username for 'https://github.com': kangralkar
    Password for 'https://youname@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/youname/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
    
    类似的在线存储库还有码云,这里就不赘述了。