我最近找到了一份新工作,在那之前我并没有太多地使用 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 简单地更新分支中其他程序员所做的更改?除了更分支的故事之外,还有其他显着差异吗?
配置您的编辑器,使其具有“正确”的换行符 (Linux)。然后什么都不需要特别改变。或者使用 Windows 换行符并选择默认设置(如果我没记错的话,这就是 autocrlf=true 的用武之地)。您可以在此处阅读更多内容。
最好是如果你想在家工作,而不仅仅是在工作中。这也很方便——比方说,他生病了或者堵车了——同事可以去一个分支看看、申请、修改。也许螺丝会掉下来。如果分支被推送,一切都会好起来的。
这纯粹是偏好和惯例的问题。
要么保留两个分支(用于调试和发布,它们通常被称为开发和发布/rc/master),或者更准确地说,制作一个部署脚本——一个特殊的脚本,它将检查、打包/处理并在必要时泛滥.
git 可以,但是将它用于延迟部署(即简单的拉取)是不值得的。许多人犯了这个错误,然后他们有事可做:)
不幸的是,Linus 并没有解决这个问题,这导致宗教战争不断。我个人的看法是越短的团队越正确:)