Maison  >  Article  >  développement back-end  >  Résumé des commandes couramment utilisées pour les opérations git

Résumé des commandes couramment utilisées pour les opérations git

零下一度
零下一度original
2017-07-17 15:11:171380parcourir

Résumé des commandes couramment utilisées

1. Retournez à un certain nœud via la commande suivante :

Git reset –hard HASH Retournez à un certain nœud sans conserver. it Modifications telles que :

Git reset –hard HASH revient à un certain nœud et conserve les modifications.

2. Toutes les modifications locales. Tout ce qui n'a pas été soumis sera remis dans son état d'origine.

Git checkout .

Le référentiel Git checkout signifie changer de référentiel, tel que : git checkout dev, passer au référentiel dev

Adresse du fichier de paiement Git, indiquant l'annulation de la modification du fichier, par exemple:git checkout backend/controller/site

3 Afficher le journal de validation

Git log

4. >Branche Git Sans paramètres : colonnes Quittez la branche locale Il y aura un * devant la branche actuelle

5. Gérer le problème LF

La raison du problème est l'incohérence. dans la conversion des espaces et des nouvelles lignes entre window et Linux. Comment gérer cela Comme suit :

Configurer les variables globales git config --global core.autocrlf false

Afficher les variables globales git config – global –l pour afficher les variables globales

mkdir learngit //Créer un dossier

cd learngit //Changer le répertoire actuel

pwd //Afficher le chemin complet du répertoire actuel directory

git init //Initialiser le répertoire

ls - ah //Afficher tous les fichiers du répertoire courant, y compris les fichiers cachés

cd.>readme.txt / /Créer un fichier vide

git add readme.txt //Ajouter le fichier au référentiel git

git commit -m « a écrit un fichier readme » //Soumettre le fichier et ajouter une description du changement

git status //Afficher le statut de changement du fichier d'entrepôt actuel

git diff / / est une comparaison entre le dict de travail et la zone de préparation (stage)

git diff --cached // est une comparaison entre la zone de transit (stage) et la branche (master)

Après avoir modifié le contenu du fichier, git status vous demandera d'utiliser "git add" et/ou " git commit -a". Veuillez ajouter d'abord, puis valider. Vous ne pouvez pas valider directement

git log //Afficher l'enregistrement de soumission git, y compris l'heure et les informations détaillées telles que l'auteur de la soumission

git log - -pretty=oneline //Afficher uniquement le numéro de version et la description de la soumission

git reset --hard HEAD^ //Rétablir la version précédente

git reset --hard HEAD^^ // Restaurer la version précédente

git reset --hard HEAD~100 //Rétablir les 100 versions précédentes

git reset - -soft HEAD //Ne pas réinitialiser la zone de cache et l'espace de travail lorsque rollback

git reset --mixed HEAD //Réinitialiser la zone de cache lors de la restauration, option par défaut

git reset -- hard HEAD //Réinitialiser le cache et l'espace de travail lors de la restauration

git reset //HEAD n'est pas spécifié, utilisé pour effacer les modifications du cache

git reset filename //Effacer le cache spécifié Modifications du fichier

git reset --hard //Ne pas spécifiez HEAD, utilisé pour effacer les modifications de l'espace de travail et du cache

git reset --hard filename //Effacer l'espace de travail et le cache Modification du fichier spécifié

cat readme.txt // Afficher le contenu du fichier

Si vous souhaitez annuler après la restauration, il existe deux manières

1) Vous devez récupérer le dernier numéro de version sans fermer la fenêtre du terminal d'origine, entrez le premiers chiffres, par exemple

git reset --hard ec6980a

2) Fermez la fenêtre du terminal et rouvrez-la, entrez git reflog, visualisez chaque enregistrement de l'opération, récupérez le numéro de version et roll back

git checkout -- file //Annuler l'opération de l'espace de travail, il y a deux situations, 1、Non Avant l'ajout à la zone de cache, les modifications de l'espace de travail local sont annulées 2、. Une fois la zone de cache ajoutée, les modifications mises en cache sont annulées et la version mise en cache est restaurée

git checkout -- -- dans la commande file est très important, sans --, cela devient un "passer à un autre branch" commande

git checkout branch //Changer de branche, réinitialiser la zone de cache et l'espace de travail en même temps, si l'espace de travail a été modifié mais non soumis, il faut d'abord valider ou cacher

git checkout branch --force //Changer de branche, réinitialiser la zone de cache et la zone de travail en même temps

git checkout --force //Ne pas spécifier de branche, utilisée pour effacer le travail Modification de la zone (le cache la zone de stockage temporaire reste inchangée, s'il y a eu un ajout auparavant, la zone de travail est cohérente avec la zone de cache)

git reset HEAD fileName //Vous pouvez annuler les modifications de la zone de stockage temporaire ( unstage)

rm test.txt //Supprimer le fichier sur le gestionnaire de fichiers, veuillez noter que la suppression locale doit correspondre à l'entrepôt

git rm text.txt //Supprimez le fichier Warehouse distant, puis soumettez git commit

git checkout -- test.txt //Supposons que le rm local supprime le fichier par erreur, vous pouvez utiliser la commande pour copier la dernière copie de l'entrepôt vers le local et remplacer la version de l'espace de travail par la version du référentiel , que l'espace de travail soit modifié ou supprimé, vous pouvez "le restaurer en un clic"

ssh-keygen -t rsa -C "liwenxin@foreveross.com" //Set les informations de compte associées localement, appuyez complètement sur Entrée, non Définissez le mot de passe directement sur vide.

open ~/.ssh //Mac ouvre ssh dans le répertoire personnel

cd ~/.ssh //Si vous avez accidentellement saisi le mot de passe lors des étapes précédentes, vous pouvez le réinitialiser pour qu'il soit vide selon la méthode suivante Mot de passe

ssh-keygen -p -f id_rsa //Entrez l'ancien mot de passe une fois et le nouveau mot de passe deux fois comme requis

git remote add origin git@github.com:gz -jam/learngit.git //Remplacez par votre propre nom de compte GitHub, associez localement la bibliothèque distante

git remote rm origin //Si l'association est erronée ou doit être liée

git remote add origin git@github.com:michaelliao/learngit.git //Vous pouvez relier

git push -u origin master //Pousser tout le contenu de la bibliothèque locale vers la bibliothèque distante, entrez Confirm yes et poussez la branche principale actuelle vers la bibliothèque distante. Puisque la bibliothèque distante est vide, lorsque nous avons poussé la branche principale pour la première fois, nous avons ajouté le paramètre -u non seulement. poussez le contenu de la branche principale locale vers la nouvelle branche principale distante et associez également la branche principale locale à la branche principale distante, afin que les commandes puissent être simplifiées lors de la poussée ou de l'extraction à l'avenir.

git push origin master //Vous n'avez pas besoin d'utiliser -u à ​​partir de la deuxième fois

git clone git@github.com:michaelliao/gitskills.git //Clonez le référentiel distant,Git prend en charge plusieurs protocoles. Le git:// par défaut utilise ssh, mais d'autres protocoles tels que https peuvent également être utilisés. Par exemple https://github.com/gz-jam/gitskills.git

git checkout -b dev //Créez une branche et changez la branche actuelle en dev, ce qui est équivalent pour exécuter deux instructions, telles que git branch dev et git checkout dev

git branch //Afficher toutes les branches du projet en cours, le * devant représente la branche actuellement active

git merge dev //Utilisé pour la spécification de fusion Branche vers la branche actuelle

git branch -d dev //Après la fusion, vous pouvez envisager de supprimer les branches de projet redondantes

git branch -D dev //La soumission de la branche Le fichier n'a pas été fusionné. S'il est supprimé, il vous indiquera qu'il n'a pas encore été fusionné. Voulez-vous forcer la suppression ? Faites attention au D majuscule

Lorsque les deux branches ont été fusionnées. contenu de soumission dans le même fichier, Git ne peut pas effectuer de "fusion rapide". Pour le moment, vous devez d'abord exécuter git status < ;<<<<<<, ======. =, >>>>>>> Marquez le contenu des différentes branches, et re-git ajoutez le fichier après ajustement, puis git commit soumet le fichier pour résoudre le conflit

git log --graph --pretty=oneline --abbrev-commit //Vous pouvez voir l'état de fusion de la branche

git log -- graph //Cette commande peut également voir le graphique de fusion de branche

git merge --no-ff -m "merge with no-ff" dev //Désactivez le mode avance rapide, Git le fera. Un nouveau commit sera généré lors de la fusion

git stash //Le travail actuel de la branche n'est pas terminé mais vous ne souhaitez pas soumettre l'entrepôt, vous pouvez d'abord le sauvegarder avec les instructions pour vous assurer que le changement d'autres branches n'entraînera pas de perte de code

git stash list //Afficher le contenu du cache. Il existe deux méthodes de récupération. La première consiste à utiliser git stash apply stash@{0} pour récupérer. Cependant, après la récupération, le contenu du cache ne sera pas supprimé. stash drop pour supprimer ; une autre façon est d'utiliser git stash pop, qui supprime le contenu du cache lors de la restauration

git remote //Afficher les informations de la bibliothèque distante

git remote -v //Afficher des informations plus détaillées

git push origin master //Pousser une branche signifie pousser toutes les soumissions locales de la branche vers la bibliothèque distante Lors du transfert, vous devez spécifier la branche locale

.

Si la branche nouvellement créée localement n'est pas poussée vers la télécommande, elle ne sera pas visible par les autres

Pour pousser la branche localement, utilisez git push origin branch-name

git checkout -b dev origin/dev //Créer la branche dev de l'origine distante vers la branche locale, la branche master par défaut

git push //Lorsqu'un conflit survient, commencez par git pull le code

git pull //S'il échoue, il demandera "aucune information de suivi". La raison peut être que le lien entre la branche de développement locale et la branche d'origine/dev distante n'est pas spécifié

git branch --set-upstream-to=origin/dev dev //Définir le lien entre dev et origin/dev

Il y a un conflit dans la fusion et doit être résolu manuellement. La solution est la suivante. mentionné plus tôt, git status, puis réparer manuellement, puis git add et git commit, et enfin git push

git tag v1.0 //Le numéro de commit est trop long à retenir, vous peut le taguer sur la branche

git tag v0.9 6224937 //Sur la branche Baliser le numéro de commit spécifié

Les balises ne sont pas répertoriées par ordre chronologique, mais par ordre alphabétique. Vous pouvez utiliser git show pour afficher les informations sur les balises

Par exemple git show v0.9

git tag -a v0.1 -m "version 0.1 publiée" 3628164 //Créer avec la balise de description, utilisez -a pour spécifier le nom de la balise, -m pour spécifier le texte de description

git tag -d v0.1 //Si la balise est erronée, vous pouvez également la supprimer

Les balises créées sont uniquement stockées localement et ne seront pas automatiquement poussées vers la télécommande. Si vous souhaitez envoyer une balise vers la télécommande, utilisez la commande git push origin

Par exemple : git push origin v1.0

Ou, envoyez tous les fichiers locaux qui n'ont pas été poussés vers la télécommande d'un coup Tags

Par exemple : git push origin --tags

Si le tag a été poussé vers la télécommande, il est un peu plus compliqué de supprimer le balise distante. Supprimez-la d'abord localement, git tag -d v0.9 puis supprimez-la de la télécommande. La commande delete est également push, mais le format est le suivant git push origin :refs/tags/v0.9 ou git push origin --delete tag v0.9

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn