php - Git ignore Comment non seulement suivre les fichiers locaux mais pas supprimer les fichiers distants?
大家讲道理
大家讲道理 2017-05-25 15:08:28
0
2
1259

Habituellement, git ignore ne suivra plus ses propres fichiers locaux et le fichier distant sera supprimé après le push.

Mon exigence est que les fichiers locaux ne soient plus suivis et que les fichiers distants ne soient pas supprimés, sinon le code de l'entrepôt distant sera brisé. Pensez-y, c'est terrible que le fichier db.config soit supprimé. entrepôt.

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(2)
世界只因有你

Tout d'abord, le non-suivi local et la non-suppression du référentiel distant ne peuvent pas être obtenus en même temps, car git se présente sous la forme d'un instantané à chaque fois qu'il est soumis, plutôt que de soumettre plusieurs fichiers. , donc s'il n'est pas suivi localement, ce fichier sera supprimé par défaut lors de la soumission. git在每次提交时都是以快照的形式,而不是说提交了几个文件,所以说如果本地不追踪了,那么提交时肯定会默认删掉这个文件。

解决方案:这种问题很常见,跟node_modules要不要提交远端仓库等相似,你提到了一句话---“远端仓库的代码就坏了”,我需要纠正一下,并不是说git上面远端仓库的代码拿下来都是可以直接run的,百分之九十都是要改一些东西,配一些环境才可以work的,就比如我刚刚说的node_modules问题,没人会上传这么大的文件,只会上传一个 package.json文件,本地需要根据这个配置文件去配置本地信息。

你这个db.config文件也是一样的,你远端仓库上可以存一个db.config.default或者db.config.sample这样的文件,这里记录的是db.config文件的所有默认配置,但是每个人本地开发环境需要将db.config.default或者db.config.sample复制一份,重命名为db.config,然后将配置改为自己需要的,很有可能每个开发人员的本地配置都不一样,这时候把db.config加入.gitignore,一般来说.default或者.sample文件不需要改动提交的,除非是真的是整个项目需要修改才要提交

觉得麻烦或者配置文件多的话,可以写个脚本,用一些sed

Solution : ce type de problème est très courant. Il est similaire à la question de savoir si node_modules doit être soumis au référentiel distant. Vous avez mentionné une phrase : "Le code du référentiel distant est cassé dont j'ai besoin." pour le corriger. Maintenant, cela ne signifie pas que le code de l'entrepôt distant sur git peut être directement exécuté. Quatre-vingt-dix pour cent nécessitent de modifier quelque chose et d'en configurer. Ce n'est qu'alors que cela peut fonctionner, tout comme le problème des node_modules que je viens de mentionner, personne ne téléchargera un fichier aussi volumineux, un seul package.json code> > fichier, les informations locales doivent être configurées en fonction de ce fichier de configuration.
🎜Il en va de même pour votre fichier db.config. Vous pouvez stocker un db.config.default ou un db.config.sample dans votre télécommande. Warehouse >Un tel fichier, enregistré ici sont toutes les configurations par défaut du fichier db.config, mais l'environnement de développement local de chacun doit changer db.config.default ou db Copiez .config.sample, renommez-le en db.config, puis modifiez la configuration selon vos besoins. Il est très probable que la configuration locale de chaque développeur soit différente lors de l'ajout. db.config à .gitignore, d'une manière générale, les fichiers .default ou .sample n'ont pas besoin d'être modifiés et soumis. Oui, à moins que l'ensemble du projet ne doive vraiment être modifié, il doit être soumis🎜.
🎜Si vous trouvez cela gênant ou s'il y a trop de fichiers de configuration, vous pouvez écrire un script et utiliser certaines commandes sed pour modifier toutes les configurations en un seul clic. Je le fais habituellement dans le script. J'ai effectué des travaux tels que l'activation du débogage et l'ajustement de l'intervalle d'analyse des modifications du fichier PHP dans php.ini🎜🎜
过去多啦不再A梦

Cela peut être fait selon vos besoins, mais ce n'est pas un problème. Le problème réside dans la gestion des fichiers de configuration.

Je fais habituellement ceci : différents fichiers de configuration pour différents environnements, config.xxx. Différents environnements se distinguent par des variables d'environnement ou des paramètres de ligne de commande ou des liens symboliques (au même nom, comme config, ce fichier n'est pas placé dans l'entrepôt), et les fichiers de configuration correspondants sont chargés.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal