我正在与 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 没有与其余代码打包在一起,因此您不必担心会弄乱主存储库。