我正在与 RoR 合作,最近通过 GitHub 克隆了一个项目。我有这个项目的特定 RVM gemset,但里面没有。我不确定是否应该创建一个新分支然后运行bundle install
,反之亦然。我担心的是我不想在 master 分支上工作,但我知道我需要先设置所有内容bundle install
。
在不破坏大师的情况下,开始这个项目的正确方法是什么?
我正在与 RoR 合作,最近通过 GitHub 克隆了一个项目。我有这个项目的特定 RVM gemset,但里面没有。我不确定是否应该创建一个新分支然后运行bundle install
,反之亦然。我担心的是我不想在 master 分支上工作,但我知道我需要先设置所有内容bundle install
。
在不破坏大师的情况下,开始这个项目的正确方法是什么?
GitHub 只是 git 存储库的托管。好吧,写作并没有给予它适当的正义。
但是,您应该了解真正git
的工作原理。我衷心推荐阅读免费的Git Book。
简而言之:
因此运行bundle install
不会修改git 跟踪的内容,特别是不会影响 remote master
。在您修改一些已被跟踪的文件之前,它不会修改您的主文件。我认为bundle install
没有。master
即使这样,您也需要修改远程commit
并进行push
更改。
您可以在您的master
. 它是安全的。
如果是别人的项目,或者开源项目,你应该在 Github 上 Fork 项目。然后克隆叉子。这将允许您在项目上工作,在本地提交您的更改并将它们推送回分叉的存储库。
如果它是您自己的项目,并且您确实想在分支中工作,那么克隆 repo 并创建一个分支git checkout -b my_branchname
。然后,您将在分支中工作,将您的代码检查到分支中。最终,您将希望将此分支合并到主分支中。为此,您可以在本地合并:
git checkout master
git merge my_branchname
或者,您可以在 Github 上创建拉取请求,然后通过 Github Web UI 将分支合并到 master。
该bundle
命令与 RVM 一起使用只会在本地安装 gem,很可能在您的主目录 ( ~/.rvm
) 中。Gems 没有与其余代码打包在一起,因此您不必担心会弄乱主存储库。