我应该放弃我的本地/流浪环境,转而租用自己的 VPS 吗?现在价格不算太高。
ForgottenPark's questions
刚开始学习围棋。根据手册,GOPATH 应该是指工作空间,其中包的源代码(包括自己的和他人的)将存储在 src 文件夹中。我的主要语言是PHP/C++,早就习惯了一个文件夹-一个项目的结构。没有语言划分:/Projects/CompanyX/ProjectNameX。另一方面,Go 建议创建另一个具有自己结构的文件夹。此外,主要项目将位于一个地方,并且只有 Go - 在另一个地方。这只是对我完美主义的打击 :) 这对我来说很方便,例如:/Projects/freelance/site1/services/GoModule。
问题。在 IDE 中使用 Go 项目将 GOPATH 切换到此特定工作区时是否正确?我更喜欢一个项目 - 一个工作区。
这是我第一次在一个小团队中从事公司内部项目。我或多或少掌握了 git。现在我正在为部署而苦苦挣扎。要点是这样的:
我们使用标准分支方案(master、develop、topic)。在本地编程和排版。有一个战斗服务器。它也是一个 git 服务器。它也是一个测试服务器 :) 该服务器包含 2 个 Web 应用程序。第一个我们从 master 分支中拉取 - 发布已准备就绪,第二个 - 从开发中 - 我们在 master 拉取之前进行测试。
因此,为了在生产环境(或至少在测试环境)中老生常谈地发布对功能分支的微小更改,我必须克服以下常规:
- 从功能切换到开发,更新分支。
- 合并功能,推送开发
- 切换到master,更新它
- 合并开发,推送 master
- 连接到生产服务器以拉取开发应用程序
- 连接到生产服务器,拉取主应用程序
- ???
- “然后请更正这封信”
- 转到 1
有没有可能以某种方式简化一切?我确定我做错了什么。
有一个不考虑时间的日期周期数组(为清楚起见,我将日期设置为字符串,但实际上是时间戳):
$items = [
['fromDate' => '2016-01-01', 'toDate' => '2016-01-12'],
['fromDate' => '2016-02-02', 'toDate' => '2016-02-12'],
['fromDate' => '2016-03-01', 'toDate' => '2016-03-01'],
['fromDate' => '2016-01-05', 'toDate' => '2016-01-16'],
// ...
];
问题:如何将 $items 转换为合并日期冲突?例如,有一个句点01.01.2016 — 10.01.2016and 05.01.2016 — 12.01.2016,那么我们应该得到一个而不是两个元素 - 01.01.2016 — 12.01.2016。
另一个例子:01.03.2017 — 04.03.2017和05.03.2017 — 05.03.2017在01.03.2017 — 05.03.2017.
合并后,新范围也可以与其他元素合并。在输出中,我们应该得到相同的 $items 数组,只有合并的碰撞(如果有的话)。
例如:
$groups = [
['name' => 'Group 1', 'items' => [1]],
['name' => 'Group 2', 'items' => [1,2]],
['name' => 'Group 3', 'items' => [1,2,3,4,5,6]],
['name' => 'Group 4', 'items' => [1,2,3]],
['name' => 'Group 5', 'items' => [5,6]],
['name' => 'Group 6', 'items' => [5]],
];
应该分成包含大约相同数量元素的数组。如果减半,则:
[
[
['name' => 'Group 1', 'items' => [1]],
['name' => 'Group 2', 'items' => [1,2]],
['name' => 'Group 4', 'items' => [1,2,3]],
['name' => 'Group 5', 'items' => [5,6]],
],
[
['name' => 'Group 3', 'items' => [1,2,3,4,5,6]],
['name' => 'Group 6', 'items' => [5]],
]
];
当您在列中显示列表(例如,菜单)时,这很方便,并且您需要避免出现空白区域。
我只是在学习 Git。我脑子里的粥。我不太明白如何以团队的形式使用主题/短期分支,同时又不让项目和存储库变得混乱。
你能告诉我这张图是否正确吗?服务器上有 2 个分支:master、develop。所有与开发一起工作。假设一些员工需要创建一个菜单。
- 创建一个新分支:
git checkout -b feature-menu - 将其推送到服务器:
git push -u origin feature-menu - 工作,做出承诺,拉动他人并推动他们的改变
- 别人
git checkout -b feature-menu origin/feature-menu做某事,也统治某事 - 工作完成后,员工合并分支:
git checkout develop; git merge feature-menu;解决冲突 - 建立
git pull和git push发展分支机构 - 在本地和远程删除一个分支
git branch -D feature-menu; git push origin :feature-menu; - 准备好
添加。问题:employee1合并删除了不需要的分支(第7点)后,同样在这个分支工作的employee2拉取后本地还会有吗?不可能做到在分支工作并从服务器中删除后,它不再出现在任何地方的员工面前。还是不需要?
添加。问题2:如果员工单独在一个分支机构工作。是习惯推送到服务器还是本地合并推送已经开发了?
我最近找到了一份新工作,在那之前我并没有太多地使用 git - 我一个人做所有事情。团队中有我们三个人:2 个程序员和一个布局设计师。我读了 git-scm,githowto 仍然留下,也许是愚蠢的问题:
1) 如果我在 windows 中编写代码,并且战斗服务器在 nix 上,那么将 core.autocrlf 设置为 true - 对吗?
2) 是否有必要将 Feature、Hotfix 分支推送到服务器,前提是每个这样的分支上有 1 名程序员工作?我的想法:我从开发、工作、变基(或者合并/然后删除分支更好???)到本地开发分支在本地创建这样一个分支,已经推送并添加了项目符号。
3) 任何准备发布工作(将 debug define 从 true 更改为 false,清除缓存,压缩 css,js)应该在发布分支中作为单独的提交完成,或者它是否超出了 git 的范围?
4)生产服务器上不应该有git服务器,我理解正确吗?
5) git pull --rebase 或使用 git pull 简单地更新分支中其他程序员所做的更改?除了更分支的故事之外,还有其他显着差异吗?