Comment puis-je fusionner un fichier unique à l'original et le pousser vers la télécommande dans git?comment replacer un fichier d'une branche dans le maître
Répondre
On dirait que vous voulez faire ceci:
# add the file you care about to the index
# if other stuff is already there, use git reset HEAD to wipe it out first
git add <important-file>
# stash away all other modifications, but keep the index
git stash --keep-index
# stash the single file from the index
git stash
# check out the master branch
git checkout master
# apply the change to the single file (your second stash)
git stash pop
# commit
git commit
# return to the other branch
git checkout <other-branch>
# restore the first stash (all other work)
git stash pop
Si vous souhaitez enregistrer cela comme une fusion, au lieu de commettre directement à maîtriser, vous pouvez créer une nouvelle branche de vérifier, engager à lui , vérifiez maître, et fusionnez-le (au lieu de vérifier maître et commettre, comme je l'ai fait ci-dessus).
Désolé, je ne suis pas sûr de ce que vous voulez dire par la question, voulez-vous enregistrer toutes les modifications apportées à un seul fichier dans le référentiel, auquel cas vous utiliseriez git commit -a
, ou voulez-vous merge
la branche vous êtes sur, qui contient un nouveau fichier, retour à la branche d'origine, auquel cas vous utiliseriez git checkout master
, puis git merge name_of_branch_to_merge
. Pour obtenir une version du référentiel à utiliser pour la collaboration ou pour travailler sur une machine distante, ce que je pense que vous demanderez ensuite, vous pouvez utiliser git clone /path/to/original/repository name_of_new_repository
, puis le nouveau répertoire name_of_new_repository
contiendra les fichiers et l'historique de la branche originale que vous pouvez travailler séparément à l'original.
J'ai un repo qui a beaucoup de fichiers. L'un d'entre eux a eu une mise à jour qui a vraiment besoin de revenir rapidement au cœur, alors que le reste de la branche est inachevé. –
Je dirais 'git checkout master', puis' git fetch' suivi de 'git merge FETCH_HEAD: crucial_file.txt'. Regardez http://www.kernel.org/pub/software/scm/git/docs/git-pull.html pour plus d'informations. –
tout ce que vous devez faire est:
git checkout master
git checkout other_branch -- path/your_file
git add . -A
git commit -m "your message"
git push origin master
Cela suppose "origine" est votre télécommande.
Il est possible que ce soit ce que l'OP souhaite, en supposant que la modification a déjà été validée dans l'autre branche, mais il est préférable de ne pas aboutir dans cette situation en effectuant des changements identiques dans deux branches séparées. Dupliquer l'historique – Cascabel
- 1. comment puis-je tirer une branche de suivi à distance alors que dans la branche maître
- 2. Pousser le maître local à la branche distante
- 3. J'ai du mal à vérifier le maître dans git après avoir supprimé le répertoire du dépôt dans la branche
- 4. git-svn: revenir un engagement d'un pas maître branche
- 5. Trouver tous les commits il ya dans la branche de laboratoire, mais dans la branche maître
- 6. Git: Comment rembobiner la branche Maître sur l'origine distante
- 7. AOSP: comment passer/rétrograder à froyo branche de maître?
- 8. "Fusionner" le nouveau fichier dans le tronc dans une branche
- 9. une branche fusion sur une mise à jour non maître
- 10. GIt - Un nouveau fichier provenant d'une nouvelle branche devrait-il apparaître comme une modification non annulée sur le maître?
- 11. Comment refaçonner correctement la branche d'un git dans un autre?
- 12. engage de maître sur une branche en utilisant git
- 13. Création d'une branche distante à partir d'une autre branche distante qui n'est pas maître
- 14. Git exclure un commit dans une branche
- 15. Comment configurer le dépôt git pour qu'une branche autre que le maître soit extraite après un clonage?
- 16. Comment cloner un dépôt git avec seulement une branche non-maître?
- 17. Interdire le téléversement à distance à la branche maître dans git
- 18. Comment créer une branche pour le fichier unique?
- 19. Git me rend fou, comment puis-je créer une nouvelle branche distante basée sur une branche non-maître existante?
- 20. github comment inclure les fichiers du maître dans une nouvelle branche g-gh gh-pages
- 21. Sous-répertoire Git Merge de la branche vers le répertoire racine du maître
- 22. Comment puis-je effacer ma branche locale dans GIT?
- 23. enableviewstatemac dans le maître page
- 24. Git: renommer un répertoire dans une branche
- 25. Commit Git trouvé dans le maître, non affiché lors de l'affichage du journal d'un fichier spécifique
- 26. Résolution de git repo avec la branche principale et un deuxième nom de branche MASTER
- 27. asp.net mvc modifier le fichier maître à partir d'une vue
- 28. Rendez le point HEAD maître git à la tête actuelle de la branche
- 29. git: comment récupérer les modifications dans le maître en travaillant avec les sous-modules
- 30. Comment vérifier si une variable est définie dans un fichier maître dans ASP.NET MVC
est-ce que ça garde l'histoire? – erjiang
@erjiang: Cela ne modifie pas l'histoire, si c'est ce que vous voulez dire. Regardez les opérations utilisées - basculer entre les branches, commettre, et en utilisant stash (qui stocke juste les modifications locales, puis les restaure). – Cascabel
Eh bien, je suis curieux de savoir si ce fichier contient des informations sur l'origine du processus, mais il ne ressemble pas à ça. – erjiang