ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] ## Remote Control - 将repository做本机和远端的连接 ### Remotes 当项目传到GitHub 上面,它会被储存在GitHub 的主机上。这个项目就变成了remote repository,因为项目现在GitHub 的主机上也有一份了,所以叫做 远端 remote。当你把**本地电脑上的程序**修改 **push**到 remote,这就叫做同步。 其他人可以透过 pull 你的 remote repository来取得项目的最新版本,储存到他们的电脑上。这样一来,大家就可以一起修改同一个专案,而不需要用USB 或Email 等其他方式来取得专案的最新进度。 ![](https://box.kancloud.cn/8220bf54603f3a01f70556a37c7ba93b_839x534.png) ### 步骤:新建立一个 远端的 Remote 代码库 Repository 你想要把**电脑上的版本**和存在GitHub.com上的远端的 remote版本做同步。所以我们先在GitHub 上开启一个新的远端的 remote 程式库 repository。 * 到github.com登入,然后按一下右上角的'+'号来新增一个 代码存储库 repository。 * 取一个名字,最好和你电脑上的项目名称一样,也就是'hello-world',并且给它一个简短的说明。 * 设定为public(公开)。 * 不要勾选'initialize with a README',因为我们已经在电脑上的版本建立了一个档案,叫做'readme.txt'。 * 也不要修改.gitignore 和 license 的设定,保留原先'none' 的设定就好。 * 按下'create repository'! ### README.md(自述文件)、.gitignore 和License(著作权声明) 在开源软体中,这些是你将会常常见到的文件。 * *自述文件* **readme** 通常是用来解释一个程式的功用、使用方法以及如何贡献程式码(但有时候这部份也会另外用一个CONTRIBUTING.md 来说明)。 * *忽略档案表* **.gitignore**则是要忽略的文件清单,这是用来告诉Git,当在做版本控制记录的时候,不要理会这些文件。例如,视频,大文件,框架或者库,或者某个文件中包含密码的时候,我们就不希望Git记录它们下来。 * **License**(著作权声明)是用来声明一个程式可以、或不可以被怎么样的使用。你可以到 [choosealicense.com](http://www.choosealicense.com/)参考一些范例。 但就现在在做的练习来说,我们暂时不需要著作权声明。 ### 步骤:把本地上的 代码库 repository 和 远端的 remote 代码库 repository 连接在一起 现在我们已经在 远端 remote(GitHub 上)新建了一个 repository。在程式库 repository 的页面上你会看到一个'Quick Setup' 的部份,确认选择的网址是'HTTP',而不是'SSH',右边的栏位就是这个 远端的 remote 程式库 repository 在GitHub 主机上的位址。 回到命令行,**在我们刚刚初始化过Git 的'hello-world' 的资料夹里头,我们需要告诉Git 这个 远端 remote的位置。同一个Git 项目中,可以有很多不同的远端 remote,所以每一个 远端 remote都需要一个名字**。而最主要、原始的那一个,通常都是叫做`origin`。 ``` $ git remote add origin <URL_FROM_GITHUB> ``` >## 版本库地址 >支持三种访问协议: >* HTTP协议: `https://github.com/gotgithub/helloworld.git` 。(目前主流) >* Git协议: `git://github.com/gotgithub/helloworld.git` 。 >* SSH协议: `ssh://git@github.com/gotgithub/helloworld.git` 。 你电脑上的程序库 repository 现在知道了项目有一个在GitHub 上的 远端 remote,叫做'origin'。你可以想像这就好像是把一个电话号码配上一个名字一样,这样当你要打电话的时候,就不用记得号码了。 >备注: 如果你有安装**GitHub for Windows**,Git初始化的时候就会直接设定了一个叫做'origin'的远端 remote,所以你不需要新增,只要设定这个'origin' 远端 remote 的网址就好了: `$ git remote set-url origin <URL_FROM_GITHUB>` ### 步骤:把你的修改 推送 Push 到 远端 remote 接下来你需要 推送 push(传送)所有你在电脑上做的修改到GitHub 上的 远端 remote。通常你会希望远端 remote 的项目版本和本地上的项目版本是一样的。 Git 有一个 分支 branch系统,让你可以同时修改一个程序的不同功能,之后会再深入介绍。系统会预设一个名称给最初的分支 branch,通常就会叫做'master'。当你推送 push(或之后 收取 pull)一个项目的时候,你必须要告诉Git 你想要的是哪一个 远端 remote 上的哪一个 分支 branch 的进度。 也就是说,我们现在想要把'master' 分支 branch 的程序传送到先前新增的'origin' 远端 remote。 ``` $ git push origin master ``` 完成之后,你现在就可以回到 GitHub 的代码库 repository页面,重新整理。哇哇哇!程序是不是都同步了呢?恭喜你建立了第一个公开的程序库 repository! ### Tips 新增 远端 remote 连结 ``` $ git remote add <REMOTE_NAME> ``` 帮一个 远端 remote 设置 网址 ``` $ git remote set-url <REMOTE_NAME> ``` 拉取 Pull 远端 remote 的程式 ``` $ git pull <REMOTE_NAME> <BRANCH_NAME> ``` 看你有哪些 远端 remote 连结 ``` $ git remote -v ``` 推送 Push 电脑上的程序到 远端 remote ``` $ git push <REMOTE_NAME> ```