使用 Git 和远程存储库

使用 Git 和远程存储库

我曾被要求使用 Github 存储库,而我做过的唯一与 Git 相关的程序是克隆现有存储库。我使用过很多 SVN,但对于 Git 分支和工作树,我还是有点菜鸟。文档有点抽象,并没有真正概述有关创建新分支和提交更改的最佳实践。

我想将现有的仓库克隆到一个新分支,该分支可供所有有权访问主分支 (SSH) 的人使用,然后在新创建的分支上本地工作并仅向该分支提交更改。从在线文档和指南来看,普遍的共识似乎是:

  1. 克隆 repo,创建一个名为 origin 的远程仓库
  2. 从 master 创建新的本地分支
  3. 提交修改至本地分支

我的问题是,本地分支如何才能在 Github 上供有权访问存储库的其他人使用?克隆存储库并创建远程可用的新分支的一般过程是什么?如有任何建议,我们将不胜感激。

答案1

除非您使用“git push”将您的分支推送回主分支并提交回主分支,否则有权访问 github repo 的其他人将无法使用本地分支。

举个例子,假设我想使用 ssh 访问下载“some-site”上现有的“my-project”存储库,其中唯一现有的分支是 master 分支。然后我将添加一个“new-feature”分支并将更改推送回原始存储库,我将执行以下操作:

  1. git clone ssh://some-site/my-project.git
  2. git 分支新功能
  3. git checkout 新功能
  4. < 进行一些更改、添加文件、删除文件等 >
  5. git 提交
  6. git push origin 新功能:新功能

每个命令的作用是:

  1. 将远程存储库克隆到你的机器
  2. 在本地存储库中创建一个新功能分支
  3. 将工作分支更改为新功能
  4. 不言自明
  5. 将步骤 4 中所做的更改提交到本地存储库(远程存储库上没有任何变化)
  6. 将本地新功能分支推送到原始仓库的新功能分支

此时,任何有权访问原始存储库的人都可以访问新功能分支。当其他人克隆存储库或将其本地存储库与此源同步时,新功能将在他们运行“git branch”命令时出现。

答案2

你应该读一下Git Pro 书籍,你的问题的答案就在前几章里。

除非您推送,否则您的任何提交都不会对其他人可用。当您想要发布该分支的当前状态时,您可以这样做git push origin <branchname>

相关内容