zoukankan      html  css  js  c++  java
  • git 入门教程之远程仓库

    远程仓库

    如果说本地仓库已经足够个人进行版本控制了,那么远程仓库则使多人合作开发成为可能.
    如果你只是打算自己使用git,你的工作内容不需要发布给其他人看,那就用不到远程仓库的概念.

    git分布式版本控制系统,分布式意味着同一个git 仓库 可以部署在不同的机器上,正如"鸡生蛋蛋生鸡"问题一样,不论如何,先要有一个原始仓库,然后才能分布到其他机器上去.

    充当原始仓库的机器要有一个特点那就是24h 开机且大家都能访问到,这个概念类似于"中央服务器".这样一来大家都可以从"中央服务器"下载最新代码,克隆到本地,本地发生更改后再推送给"中央服务器".如此一来,大家交流方便很多,轻松实现文件内容的共享.

    这种"中央服务器"比较有名的是国外的网站 github,当然国内也有不少类似服务.像这种"中央服务器"也可以自己搭建,现阶段搭建的话简直就是"杀鸡焉用牛刀"!

    背景

    关于如何注册配置相关请参考 github 教程

    为了和上述教程保持一致,项目名git-demo,先看一下当前工作区状态:

    # 查看文件列表
    $ ls
    LICENSE     README.md   test.txt
    # 查看文件内容
    $ cat test.txt
    add test.txt
    

    现在测试一下本地更改能否推送到远程仓库,先在本地文件 test.txt 随便写点东西,然后添加(git add),提交(git commit),最后推送到远程仓库(git push origin master).

    # 写入新的内容并提交到本地仓库
    $ echo "see https://snowdreams1006.github.io/git/usage/remote-repository.html" >> test.txt
    $ git add test.txt
    $ git commit -m "see https://snowdreams1006.github.io/git/usage/remote-repository.html"
    [master b3d8193] see https://snowdreams1006.github.io/git/usage/remote-repository.html
     1 file changed, 1 insertion(+)
    
    # 推送到远程仓库
    $ git push origin master
    Counting objects: 3, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 359 bytes | 359.00 KiB/s, done.
    Total 3 (delta 1), reused 0 (delta 0)
    remote: Resolving deltas: 100% (1/1), completed with 1 local object.
    To github.com:snowdreams1006/git-demo.git
       8e62564..b3d8193  master -> master
    $ 
    

    命令行没有报错证明我们已经成功推送到 github,现在登录 github 看一下有没有刚才我们提交的新内容.

    github-updated.png

    现在本地版本库和远程版本库已经能够正常建立关联了,此刻起将不再是独自一人在战斗!

    小结

    • 创建已有本地仓库和远程仓库的关联
    # 添加远程仓库关联
    git remote add origin git@github.com:username/repos.git
    
    # 首次推送 master 分支的全部内容
    git push -u origin master
    
    # 后续推送 master 分支的最新更改
    git push origin master
    
    • 从已有远程仓库克隆到本地仓库
    # 克隆远程仓库到本地仓库
    git clone git@github.com:username/repos.git
    
    # 推送 master 分支的最新更改
    git push origin master
    
  • 相关阅读:
    深入理解JavaScript系列(41):设计模式之模板方法
    深入理解JavaScript系列(40):设计模式之组合模式
    深入理解JavaScript系列(39):设计模式之适配器模式
    深入理解JavaScript系列(38):设计模式之职责链模式
    Mysql的用户名密码设置方法
    微信公众平台开发教程新手解惑40则
    自定义菜单的创建及菜单事件响应
    微信接口测试之发送被动响应消息
    QQ表情的发送与接收
    properties文件使用{0}...
  • 原文地址:https://www.cnblogs.com/snowdreams1006/p/10550550.html
Copyright © 2011-2022 走看看