# 關于遠程倉庫
在版本控制系統上,大約90%的操作都是在本地倉庫(local repository)中進行的:暫存,提交,查看狀態或者歷史記錄等等。除此之外,如果僅僅只有你一個人在這個項目里工作,你永遠沒有機會需要設置一個遠程倉庫(remote repository)。
只有當你需要和你的開發團隊**共享數據**時,設置一個遠程倉庫才有意義。你可以把它想象成一個 “文件管理服務器”,利用這個服務器可以與開發團隊的其他成員進行數據交換。
現在讓我們來看一下本地倉庫與遠程倉庫之間的區別吧:
### 位置
本地倉庫位于每一個團隊成員的本地計算機上。相反,遠程倉庫則被設置在一個能被所有團隊成員訪問到的遠程服務器上,基本上都是在互聯網上或者是本地局域網中。
### 特點
從技術上講,一個遠程倉庫和一個本地倉庫并不存在很大差異。和本地倉庫一樣,它包含分支,提交和標記。然而,本地存儲庫存在一個與之相關的工作副本(working copy),就是你當前的工作目錄。其中包括了你從項目中簽出的一些版本文件。而一個遠程倉庫就不包含任何工作目錄,它僅僅是由一系列 “.git” 目錄組成的。
### 創建
你有兩種方法來創建一個本地倉庫到你的本地計算機上,你可以新建一個空的倉庫,或者是克隆一個已存在的遠程倉庫到你的本地計算機中。
創建一個新的遠程倉庫同樣的也有兩種方法。方法一,假如已經存在了一個本地倉庫,并且你想以這個本地倉庫作為遠程倉庫的基準,你使用 “--bare” 參數來可以克隆這個本地倉庫。方法二,假如你想要新建一個空的遠程倉庫,你可以使用 “git init” 命令,并且同時也要加上 “--bare” 參數。
## 本地 / 遠程工作流程
在 Git 中,僅僅存在一小部分應用在遠程倉庫上的命令。
絕大多數工作都是針對本地存倉庫的。到現在為止(除去克隆命令 “git clone” 外),我們一直只是工作在我們本地倉庫上,并且從沒有離開過本地計算機。我們不依賴于任何互聯網或局域網連接,完全是脫機工作的。
我們將會在本章的之后小節中來一起學習一些遠程倉庫上的命令。

- Learn Version Control with Git 中文版
- 前言
- Part 1 - 基礎知識
- 什么是版本控制?
- 為什么要使用版本控制系統?
- 準備工作
- 版本控制的基本工作流程
- 從一個未被納入版本控制的項目開始
- 從一個已被納入版本控制的項目開始
- 工作在你的項目上
- Part 2 - 分支與合并
- 分支可以改變你的生命
- 在分支上工作
- 暫時保存更改
- 切換一個本地分支
- 合并改動
- 分支的工作流程
- Part 3 - 遠程倉庫
- 關于遠程倉庫
- 連接一個遠程倉庫
- 查看遠程數據
- 整合遠程的改動
- 發布一個本地分支
- 刪除分支
- Part 4 - 高級應用
- 撤銷操作
- 用 diff 來檢查改動
- 處理合并沖突
- Rebase 代替合并
- 子模塊
- git-flow 的工作流程
- 使用 SSH 公鑰驗證
- Part 5 - 工具與服務
- 桌面應用程序
- 比較和整合工具
- 代碼托管服務
- 更多學習資源
- 附錄
- 版本控制的最佳實踐
- 命令 101
- 從 Subversion 過渡到 Git
- 為什么選擇 Git