J'ai récemment décidé de prendre le plongeon git, et j'apprécie vraiment d'utiliser git, même sur Windows.Can git et subversion jouent bien ensemble?
Mon projet open source actuel lives on subversion, tous les développeurs sont familiers avec la subversion, donc je voudrais garder la subversion comme "source de vérité" pour l'instant. Néanmoins, je veux utiliser git, donc je suis allé de l'avant et créé une copie de la source on github en utilisant . Tout mon travail est fait contre la source dans github et je pousse mes changements sur github. Une fois tous les quelques jours, je pousse aussi mes changements à svn et rebase. L'importation initiale semblait aller bien, mais maintenant, chaque fois que je fais un "git svn rebase", je continue d'avoir des conflits, même sur des fichiers que je n'ai pas changé dans mon dépôt get. Cela me cause much pain.
Par exemple.
$ git svn rebase First, rewinding head to replay your work on top of it... Applying: Added git ignore file c:/Users/sam/Desktop/MediaBrowserGit/trunk/.git/rebase-apply/patch:12: trailing whitespace. */obj/* error: .gitignore: already exists in index Using index info to reconstruct a base tree... :12: trailing whitespace. */obj/* warning: 1 line adds whitespace errors. Falling back to patching base and 3-way merge... Auto-merging .gitignore CONFLICT (add/add): Merge conflict in .gitignore Failed to merge in the changes. Patch failed at 0001 Added git ignore file When you have resolved this problem run "git rebase --continue". If you would prefer to skip this patch, instead run "git rebase --skip". To restore the original branch and stop rebasing run "git rebase --abort". rebase refs/remotes/git-svn: command returned error: 1
Mes questions:
Est-il possible que je peux dire git de se synchroniser avec svn en utilisant svn comme source, je peux donc commencer par une table rase. (exporter la dernière version, enregistrer les modifications et réinitialiser les références svn quelque part)
Existe-t-il des conseils et astuces pour que ce scénario fonctionne de manière cohérente?
Les options core.safecrlf and core.autocrlf doivent-elles être définies sur true? Il semble que j'aurai besoin d'un peu de saut de cerceau.
connexes:
- http://kerneltrap.org/index.php?q=mailarchive/git/2008/4/16/1450834/thread
- http://markmail.org/message/vaois4kkr5ggugqs#query:git%20crlf+page:1+mid:i4flex6vmt5tdala+state:results
- http://code.google.com/p/msysgit/issues/detail?id=271
Il semble obtenir les fins de ligne est juste un peu d'un art noir.
(je me rends compte que cette question a probablement besoin d'être élargi, s'il vous plaît commenter les endroits qui ont besoin en expansion)
parfois ... la fin de ligne les moins ennuyeux, il semble dire quelque chose le long des lignes de « pataugeant ligne xxx mettre fin au conflit » ceux qui Retrouve moi sont les conflits de fin non en ligne. il dit qu'un fichier entier est en état de conflit quand je ne l'ai jamais touché ... –
On dirait que vous obtenez des conflits de fin de ligne - si le fichier entier est incohérent c'est probablement parce que quelque chose a changé toutes les terminaisons de ligne –
Quelle est la meilleure pratique quand il s'agit de fin de ligne, git, svn et interopérabilité sur Windows? –