Git推送至远程仓库

知识来源GitHub入门与实践

Git是分散型版本管理系统,但我们前面所学习的,都是针对单一本地仓库的操作。现在开始接触远程仓库。远程仓库就是与我们本地仓库相对独立的另一个仓库。让我们先在GitHub创建一个仓库,并将其设置为本地仓库的远程仓库。

在GitHub上创建一新仓库,防止与其他仓库混淆,仓库名与本地一致,即git-tutorial。创建时不要勾选Initialize this repository with a README选项。因为一旦创建了,GitHub一侧的仓库就会自动生成README文件,从创建之初便与本地仓库失去了整合性。虽然到时候可以强制覆盖,但是为了防止这一种情况发生,到那时还是建议不要勾选该选项,直接点击Create repository创建仓库。

git remote add——添加远程仓库

在GitHub上创建的仓库路径为"git@github.com:用户名/git-tutorial.git"。现在用git remote add命令将它设置成本地仓库的远程仓库。

$ git remote add origin git@github.com:JiangCheng97/git-tutorial.git

按照上述格式执行git remote add命令之后,Git会自动将git@github.com:JiangCheng97/git-tutorial.git远程仓库设置为origin(标识符)。

git push —— 推送至远程仓库

  • 推送至master分支

    如果想将当前分支下的本地仓库内容推送至远程仓库,需要用到git push命令。现在假定我们在master分支下进行操作。

$ git push -u origin master
Enter passphrase for key '/c/Users/msi/.ssh/id_rsa':
Enumerating objects: 21, done.
Counting objects: 100% (21/21), done.
Delta compression using up to 8 threads
Compressing objects: 100% (14/14), done.
Writing objects: 100% (21/21), 1.79 KiB | 459.00 KiB/s, done.
Total 21 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), done.
To github.com:JiangCheng97/git-tutorial.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

像这样执行git push命令,当前分支的内容就会被推送给远程仓库origin的master分支。-u参数可以在推送的同时,将origin仓库的master分支设置为本地仓库当前分支的upstream(上游)。添加了这个参数,将来运行git pull命令从远程仓库获取内容时,本地仓库的这个分支就可以直接从origin的master分支获取内容,省去另外添加参数的烦恼。

  • 推送至master以外的分支

    除了master以外的分支,远程仓库也可以创建其他分支。举个例子,我们在本地仓库中创建feature-D分支,并将它以同名形式push至远程仓库。

    $ git branch feature-D
    $ git checkout feature-D
    Switched to branch 'feature-D'
    

    我们在本地创建了feature-D分支,现在我们将它push给远程仓库并保持分支名称不变。

    $ git push -u origin feature-D
    Enter passphrase for key '/c/Users/msi/.ssh/id_rsa':
    Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
    remote:
    remote: Create a pull request for 'feature-D' on GitHub by visiting:
    remote:      https://github.com/JiangCheng97/git-tutorial/pull/new/feature-D
    remote:
    To github.com:JiangCheng97/git-tutorial.git
     * [new branch]      feature-D -> feature-D
    Branch 'feature-D' set up to track remote branch 'feature-D' from 'origin'.
    

    现在,在远程仓库的GitHub页面就可以查看feature-D分支。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。