git: diff entre le fichier en local des pensions de l'origine et de la
Je veux trouver les différences entre un fichier que j'ai dans mon local repo vs ce qui est dans le origin master
.
Je sais qu'il y a git diff
, cependant, je veux juste de l'isoler en bas de ce fichier un particulier.
Pour des raisons de simplicité permet de dire que le fichier est nommé file1.txt
et il possède un chemin de fichier local = [local_path]
et à l'origine il a filepath = [remote-path]
.
Quelle serait la commande git-je rentrer?
EDIT: Merci à tous pour vos commentaires, il a été très perspicace. Pour ceux qui sont à l'aide d'Eclipse (qui je suis, et je l'ai déclaré plus tôt), je viens de découvrir que vous pouvez simplement faire un clic droit -> Comparer Avec -> Direction générale, de l'Étiquette ou de Référence -> sélectionnez la version appropriée et là vous allez.
- Est [remote-chemin]différent de locale [- path]?
- Je viens de remarquer votre modifier. N'hésitez pas à poster comme une réponse.
- qu'appelez-vous "à l'origine de maître"?
Vous devez vous connecter pour publier un commentaire.
Si
[remote-path]
et[local-path]
sont les mêmes, vous pouvez le faireNote 1: La deuxième commande ci-dessus va comparer stockées localement suivi à distance de la branche. La commande fetch est nécessaire de mettre à jour le suivi à distance de la branche pour être en phase avec le contenu du serveur distant. Alternativement, vous pouvez simplement faire
Note 2:
master
peut être remplacé dans les exemples ci-dessus avec n'importe quel nom de la branchegit diff master:README.md -- README.md
git diff origin/master -- README.md
git fetch master
plutôt utiliségit fetch .
(origin/master n'a pas de travail non plus), Mais le reste a bien fonctionné.git fetch **origin**
.git diff HEAD file_name
Pour voir les différences vont de la distance de fichier pour le fichier local:
Pour afficher les différences dans l'autre sens:
Fondamentalement, vous pouvez diff deux fichiers n'importe où à l'aide de cette notation:
Comme d'habitude,
ref1
etref2
pourraient être les noms de branche, remotename/branchname, commettre SHAs, etc.De comparer dépôt local avec une seule télécommande, il suffit d'utiliser la syntaxe suivante:
Pour qui j'ai écrit un script bash:
Dans le script ci-dessus, je l'ai récupéré à distance branche principale (pas nécessaire à son maître direction de la succursale) à
FETCH_HEAD
, puis faire une liste de mes fichier modifié seulement et comparer les fichiers modifiésgit difftool
.Il y a beaucoup de
difftool
pris en charge par git, j'ai configuréMeld Diff Viewer
pour une bonne interface graphique de comparaison.De script ci-dessus, j'ai de la connaissance préalable que les modifications effectuées par d'autres équipes dans le même fichier, avant de me suivre git étapes
untrack-->staged-->commit
qui m'aide à éviter d'inutiles résoudre conflit de fusion avec une équipe à distance ou de se faire de nouveaux locaux de la branche et de les comparer et de fusionner sur la branche principale.