Résumé détaillé ! Opérations courantes de Git
Cet article vous apporte des connaissances pertinentes sur Git. Il résume principalement les problèmes opérationnels courants, notamment la création d'entrepôts, l'affichage de fichiers, l'ajout de fichiers, la modification de contenu et d'autres problèmes connexes. J'espère qu'il sera utile à tout le monde.
Apprentissage recommandé : "Tutoriel Git"
1. Créer un entrepôt Git
Ouvrez l'emplacement où vous devez créer un entrepôt, ouvrez l'interface de commande Git
ou entrez git dans le terminal init du terminal
Crée un entrepôt. Git
命令界面或Terminal终端输入git init
创建仓库。
创建完成后得到提示Initialized empty Git repository in /Users/huaqiangsun/Git/.git/
已初始化空的Git
仓库在当前目录中,同时可以看到目录中多出来.git
文件夹(一般为隐藏文件夹,Mac下可通过shift + cmd + .
组合快捷键查看隐藏文件)。
二、查看仓库文件状态
提起Git
,常常会提到工作区、暂存区、版本库概念,这是很通用的说法,其实工作区一般就是指我们能看到的文件、本地操作文件所在的目录,我们正常编写的代码文件、管理的资源文件都是在工作区里操作,这里的文件又细分为受版本控制的文件和不受版本控制的文件。
提到暂存区,就和index
文件建立了联系,工作区的新文件和已经修改受版本控制的文件,使用 git add file_name
就可以添加到暂存区,相当于登记报个名,以后提交到版本库的时候会把这些登记的文件都带上,实际上执行了 git add
命令的文件都生成了对应的 object 对象,放在.git/objects
目录下,状态变为 staged
, 当提交到版本库时,分支会引用这些对象。
版本库就是文件修改的目的地了,最终的修改会提交到版本库,这时提交的文件状态变成 committed
,其实也是一种 unmodified
状态,版本库会记录你的每一次提交,可以追溯你每一次修改的内容。
文件状态通常可以分为:
- 不受版本控制的
untracked
状态;- 受版本控制并且已修改的
modified
状态;- 受版本控制已修改并提交到暂存区的
staged
状态;- 从暂存区已经提交到本地仓库的
committed
状态;- 提交到本地仓库未修改或者从远程仓库克隆下来的
unmodified
状态;
使用git status
可以看到当前仓库的文件修改和未提交文件情况。
其中,
Changes to be committed
为暂存区已存在,需要进行提交进仓库的文件;Changes not staged for commit
为文件被操作尚未提交至暂存区的文件,此类文件需要使用add
将其添加至缓存区再提交进仓库;Untracked files
为未入暂存区文件;
当修改后的文件添加至暂存区后,在提交之前再次进行修改后,非暂存区会再次出现该文件,需再次add
添加入暂存区,否则直接commit
后仓库中的文件不会包含二次修改的内容。
总结
git status
只能查看未传送提交的次数,不能查看具体文件信息;git cherry -v
只能查看未传送提交的描述/说明;git log master ^origin/master
则可以查看未传送提交的详细信息;
三、向暂存区中添加文件
使用git add [fileName ...]
用于将文件添加至暂存区中。
若未提示信息则表示文件添加成功。
添加文件需要填写正确的文件路径,若需要添加多个文件使用空格分隔。
四、提交暂存区文件
使用git commit -m "description"
用于将已添加到暂存区的文件进行提交,每次提交可提交多个文件。
五、从仓库中移除文件
当从磁盘删除已提交给仓库中的文件时,由于仓库缓存中还存在该文件,所以使用git rm [fileName]
Git
vide a été initialisé dans le répertoire actuel et vous pouvez voir un dans le dossier .git
(généralement un dossier caché, vous pouvez utiliser la combinaison de touches de raccourci shift + cmd + .
pour afficher les fichiers cachés sur Mac). 2. Vérifiez l'état des fichiers de l'entrepôt🎜🎜Lorsque vous mentionnez Git
, les concepts d'espace de travail, de zone de préparation et de bibliothèque de versions sont souvent mentionnés. terme. En fait, l'espace de travail fait généralement référence au répertoire où se trouvent les fichiers que nous pouvons voir et les fichiers d'opération locaux. Les fichiers de code que nous écrivons normalement et les fichiers de ressources que nous gérons sont tous exploités dans l'espace de travail. en fichiers soumis au contrôle de version et en fichiers qui ne sont pas sous contrôle de version. 🎜🎜En ce qui concerne la zone de préparation, elle est connectée au fichier index
Pour les nouveaux fichiers dans l'espace de travail et les fichiers qui ont été modifiés et sont sous contrôle de version, utilisez git add file_name.
L'ajout à la zone de stockage temporaire équivaut à enregistrer un nom lors de la soumission future au référentiel, ces fichiers enregistrés seront apportés en fait, tous les fichiers qui exécutent le git addcode> aura les fichiers correspondants générés. Les objets objets sont placés dans le répertoire <code>.git/objects
et le statut devient stadé
lorsqu'il est soumis au référentiel, la branche. fera référence à ces objets. 🎜🎜Le référentiel est la destination des modifications du fichier. Les modifications finales seront soumises au référentiel. A ce moment, le statut du fichier soumis devient commit
, qui est en fait une sorte de . non modifié
, le référentiel enregistrera chaque soumission que vous effectuez et pourra retracer le contenu de chaque modification que vous apportez. 🎜🎜Le statut du fichier peut généralement être divisé en : 🎜🎜Utilisez
non suivi
qui n'est pas sous contrôle de version ;modifié
;stadé
en statut qui a été modifié sous contrôle de version et soumis à la zone de préparation ;- a a été soumis depuis la zone de transit avec le statut
engagé
à l'entrepôt local ;non modifié
le statut a été soumis à l'entrepôt local non modifié ou cloné depuis l'entrepôt distant ; ul>
git status
pour voir les modifications de fichiers et les fichiers non validés dans l'entrepôt actuel. 🎜
🎜Lorsque le fichier modifié est ajouté à la zone de stockage temporaire ; zone de stockage temporaire et modifiée à nouveau avant la soumission, la zone de stockage non temporaire. Si le fichier réapparaît, vous devez
Modifications à valider
est un fichier qui existe déjà dans la zone de stockage temporaire et doit être soumis à l'entrepôtModifications non transférées ; pour le commit
Pour les fichiers qui n'ont pas été soumis à la zone de transit après avoir été exploités, ces fichiers doivent être ajoutés à la zone de cache en utilisantadd
puis soumis à l'entrepôt ; li>Fichiers non suivis
Il s'agit d'un fichier qui n'a pas été ajouté à la zone de stockage temporaire
ajouter
et l'ajouter à nouveau à la zone de stockage temporaire. Sinon, le fichier dans l'entrepôt. ne contiendra pas le contenu de modification secondaire après commit
. 🎜🎜Résumé🎜🎜3. Ajoutez des fichiers à la zone de préparation🎜🎜Utilisez
git status
ne peut afficher que le nombre de soumissions non transmises, mais ne peut pas afficher les informations spécifiques sur un fichier ;git cherry -v
ne peut afficher que la description/instruction des commits non transmis ;git log master ^origin/master
peut afficher les commits non transmis détaillés informations ;
git add [fileName ...]
pour ajouter des fichiers dans la zone de préparation. 🎜🎜Si aucun message ne s'affiche, cela signifie que le fichier a été ajouté avec succès. 🎜🎜Pour ajouter des fichiers, vous devez renseigner le chemin d'accès correct. Si vous devez ajouter plusieurs fichiers, séparez-les par des espaces. 🎜🎜4. Soumettez les fichiers dans la zone de préparation🎜🎜Utilisez git commit -m "description"
pour soumettre les fichiers qui ont été ajoutés à la zone de préparation. Plusieurs fichiers peuvent être soumis par soumission. 🎜🎜5. Supprimer des fichiers de l'entrepôt 🎜🎜Lors de la suppression d'un fichier qui a été soumis à l'entrepôt du disque, car le fichier existe toujours dans le cache de l'entrepôt, utilisez git rm [fileName]
pour supprimer le cache Une fois le fichier soumis, il ne sera plus inclus dans la gestion des versions. 🎜🎜Si l'opération en cours est une erreur, vous pouvez récupérer le fichier via l'opération de restauration. 🎜Si vous souhaitez supprimer des fichiers qui ont été modifiés auparavant ou qui ont été placés dans la zone de stockage temporaire, vous devez utiliser l'option de suppression forcée paramètre -f
. -f
配参。
若由于误操作将一些非必要文件提交至仓库,可以使用--cached
,只删除仓库中的记录并不从磁盘上删除。
git rm
命令后面可以列出文件或者目录的名字,也可以使用 glob
模式。例如:git rm log/*.log
。
注意星号 *
之前的反斜杠 , 因为
Git
有自己的文件模式扩展匹配方式,所以不用 shell
来帮忙展开。 此命令删除 log/
目录下扩展名为 .log
的所有文件。
六、设置忽略文件
对于一些日志文件、临时文件以及一些软件生成的配置或输出文件并不需要进行文件管理,所以可以创建一个.gitignore
文件将需要忽略的文件名称或表达式写入.gitignore
文件,以实现忽略文件的目的。
文件 .gitignore
格式规范如下:
- 所有空行或者以
#
开头的行都会被 Git 忽略。 - 可以使用标准
glob
模式匹配,它会递归地应用在整个工作区中。 - 匹配模式可以以(
/
)开头防止递归。 - 匹配模式可以以(
/
)结尾指定目录。 - 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(
!
)取反。
git
同样支持Glob
模式,Glob
模式为Shell
中简化的正则表达式。
- 星号(
*
)匹配零个或多个任意字符; -
[abc]
匹配任何一个列在方括号中的字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c); - 问号(
?
)只匹配一个任意字符;
如果在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。 - 使用两个星号(
**
)表示匹配任意中间目录,比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等。
.gitignore
文件生效步骤如下:
git status --ignored
// 查看状态,验证是否已包括忽略的文件
git rm -r --cached .
// 清除缓存,-r表示递归删除
git status --ignored
// 查看具体效果
git add .
// 重新trace file
git commit -m "update .gitignore"
// 提交和注释
七、查看文件修改内容
使用git status
只能查看每个文件的修改状态,但是无法看到每个文件的内容有哪些被修改,所以可以使用git diff
查看所有追踪文件的修改对比。
需要注意的是,git diff
是查看未暂存的文件中被修改的内容,当将该文件添加入暂存区后,就无法再通过git diff
查看修改内容,需要使用git diff --cached
。
八、移动文件
当需要重命名文件时,可以使用git mv [oldFileName] [new FileName]
。Git
对于重命名操作会分为三步进行,第一步首先重命名文件,然后再从仓库中删除原有的文件,最后将新文件添加进暂存区等待提交。
$ mv README.md LOOKME.md $ git rm README.md $ git add LOOKME.md
若通过软件进行批量修改文件时,也要按照该流程先删除原文件再添加新文件。
九、撤销操作
当由于一些操作失误提交或修改了文件内容时,可以通过Git
回滚操作,回滚到修改之前的状态。
回忆下前面提到的文件状态,文件状态通常可以分为:
- 不受版本控制的
untracked
状态; - 受版本控制并且已修改的
modified
状态; - 受版本控制已修改并提交到暂存区的
staged
状态; - 从暂存区已经提交到本地仓库的
committed
状态; - 提交到本地仓库未修改或者从远程仓库克隆下来的
unmodified
状态;
9.1 撤销暂存区文件
使用git restore --staged [fileName]
或git reset HEAD [fileName]
--cached
pour supprimer uniquement les enregistrements de l'entrepôt sans les supprimer du disque. 🎜🎜La commande git rm
peut être suivie en listant les noms de fichiers ou de répertoires, ou vous pouvez utiliser le mode glob
. Par exemple : git rm log/*.log
. 🎜🎜Faites attention à la barre oblique inverse
avant l'astérisque *
, car Git
a sa propre méthode de correspondance d'extension de modèle de fichier, donc shell est pas nécessaire
pour aider à l'expansion. Cette commande supprime tous les fichiers avec l'extension .log
dans le répertoire log/
. 🎜6. Définir les fichiers ignorés
🎜Certains fichiers journaux, fichiers temporaires et fichiers de configuration ou de sortie générés par certains logiciels ne nécessitent pas de gestion de fichiers, vous pouvez donc créer un.gitignore
Le fichier écrit le nom de fichier ou l'expression qui doit être ignorée dans le fichier .gitignore
pour atteindre l'objectif d'ignorer le fichier. 🎜🎜La spécification de format du fichier .gitignore
est la suivante : 🎜- Toutes les lignes vides ou commençant par
#
seront ignorées par Git. - La correspondance de modèle
glob
standard peut être utilisée, qui est appliquée de manière récursive dans tout l'espace de travail. - Le modèle de correspondance peut commencer par (
/
) pour éviter la récursion. - Le modèle de correspondance peut se terminer par (
/
) pour spécifier le répertoire. - Pour ignorer les fichiers ou répertoires en dehors du modèle spécifié, vous pouvez l'annuler en ajoutant un point d'exclamation (
!
) avant le modèle.
git
prend également en charge le mode Glob
, et le mode Glob
est une version simplifiée de Shell code> Expression régulière. 🎜<ul>
<li>L'astérisque (<code>*
) correspond à zéro ou plusieurs caractères ;
[abc]
correspond à n'importe quelle colonne de Caractères carrés ; parenthèses (cet exemple correspond à un a, un b ou un c) ;?
) ne correspond qu'à un caractère arbitraire ;Si vous utilisez un tiret pour séparer deux caractères entre crochets, cela signifie que tout ce qui se trouve dans la plage de ces deux caractères peut correspondre (par exemple, [0-9] signifie que tous les nombres de 0 à 9 correspondent).
**
) pour correspondre à n'importe quel répertoire intermédiaire. Par exemple, a/**/z peut correspondre à a/z, a/b/z ou a/. b/c/z, etc. .gitignore
Les étapes pour que le fichier prenne effet sont les suivantes : 🎜
- 🎜
git status --ignored // Vérifiez l'état, vérifiez si les fichiers ignorés ont été inclus🎜
- 🎜
git rm -r --cached .
// Videz le cache, -r signifie suppression récursive🎜- 🎜
git status --ignored
// Vérifiez l'effet spécifique🎜- 🎜
git add .
// Retracer le fichier🎜- 🎜
git commit -m "update .gitignore"
// Valider et commenter 🎜
7. Afficher les modifications de fichiers
🎜Utilisergit status
ne peut afficher que l'état de modification de chaque fichier, mais vous ne pouvez pas voir quel contenu de chaque fichier a été modifié, vous pouvez donc utiliser git diff
pour afficher l'état de modification de tous les fichiers de suivi. Modifier la comparaison. 
Il Il convient de noter que
git diff
est utilisé pour afficher le contenu modifié dans les fichiers non préparés. Une fois le fichier ajouté à la zone de préparation, il ne peut plus être utilisé via git diff
. Pour visualiser les modifications, vous devez utiliser git diff --cached
. 🎜8. Déplacer des fichiers
🎜Lorsque vous devez renommer un fichier, vous pouvez utilisergit mv [oldFileName] [new FileName]
. Git
effectuera l'opération de renommage en trois étapes. La première étape consiste à renommer le fichier, puis à supprimer le fichier d'origine de l'entrepôt et enfin à ajouter le nouveau fichier à la zone de préparation pour attendre sa soumission. 🎜$ git log --pretty=oneline
9. Annuler l'opération
🎜Lorsque le contenu du fichier est soumis ou modifié en raison d'erreurs opérationnelles, vous pouvez utiliser l'opération de restaurationGit
pour revenir à l'état avant la modification. . 🎜🎜Rappelez-vous l'état du fichier mentionné précédemment. L'état du fichier peut généralement être divisé en : 🎜-
non suivi
qui n'est pas sous contrôle de version ; - sous contrôle de version. Et le statut
modifié
modifié ; - Le statut
stadé
qui a été modifié et soumis à la zone de préparation sous contrôle de version ; - Statut
engagé
qui a été soumis depuis la zone de préparation à l'entrepôt local ; -
non modifié
statut qui a été soumis à l'entrepôt local sans modification ou cloné depuis l'entrepôt distant
9.1 Annuler le fichier de la zone de préparation
🎜Utilisezgit restaurer --staged [fileName]
ou git reset HEAD [fileName] pour restaurer la récupération du fichier de la zone de préparation. 🎜<blockquote><p>Remarque : La commande <code>git restaurer
est nouvellement ajoutée après la version Git 2.23
. Elle est utilisée pour partager les fonctions de la commande git checkout
. . En utilisant les fichiers de stockage temporaires dans la zone ou le référentiel, écrasez les modifications des fichiers locaux pour atteindre l'objectif d'annuler les modifications. En même temps, vous pouvez également utiliser les fichiers du référentiel pour écraser les fichiers de la zone de stockage temporaire afin d'annuler. le but de la commande git add
. git restore
命令是 Git 2.23
版本之后新加的,用来分担 git checkout
命令的功能,通过用暂存区或者版本库中的文件覆盖本地文件的修改,以达到回退修改的目的,同时也可以使用版本库中的文件覆盖暂存区的文件,达到回退git add
命令的目的。!!注意,这个操作不会影响分支记录,就是相当于之前的
git checkout
命令重新检出一份文件来覆盖本地的修改。
git reset
其实就是用来设置分支的头部指向,当进行了一系列的提交之后,忽然发现最近的几次提交有问题,想从提交记录中删除,这是就会用到 git reset
命令,这个命令后面跟 commit id
,表示当前分支回退到某个 commit id
对应的状态,之后的日志记录被删除,工作区中的文件状态根据参数的不同会恢复到不同的状态。
--soft
: 被回退的那些版本的修改会被放在暂存区,可以再次提交。--mixed
: 默认选项,被回退的那些版本的修改会放在工作目录,可以先加到暂存区,然后再提交。--hard
: 被回退的那些版本的修改会直接舍弃,就像它们没有来过一样。
使用 git rest HEAD file_name
命令就可以将一个文件回退到 HEAD
指向版本所对应的状态,其实就是当前版本库中的状态,也就相当于还原了本地的修改。
对于工作区中未加到暂存区和版本库的文件,执行了 git add
操作之后可通过如下方法还原:
git rm --cached newfile
git restore --staged newfile
git reset HEAD newfile
注:使用后两个命令的时候不能是版本库的第一个文件。
9.2 撤销对文件的修改
使用git checkout -- [fileName]
可以将该文件回滚到上一次提交的状态。
!注:记得git checkout -- <file></file>
是一个危险的命令。 你对那个文件在本地的任何修改都会消失。Git
会用最近提交的版本覆盖掉它。 除非你确实清楚不想要对那个文件的本地修改了,否则请不要使用这个命令。
声明:由于没有添加到暂存区的文件无法被追踪,所以它的任何修改是没有办法回退!只能通过本地文件撤销操作进行。
十、查看操作历史
如果想要查看某个项目中所有提交信息,可以使用git log
打印所有参与者的提交记录。
每条记录都会显示提交的SHA-1
校验,作者名字和作者邮箱以及提交时间并按提交时间倒序排列。
除了简单的git log
外,还可以添加参数用于筛选和格式化输出信息:
-p --patch
:它会显示每次提交所引入的差异。 也可以限制显示的日志条目数量,例如使用 -2 选项来只显示最近的两次提交。--stat
:在每次提交的下面列出所有被修改过的文件、有多少文件被修改了以及被修改过的文件的哪些行被移除或是添加了。 在每次提交的最后还有一个总结。-
--pretty
:这个选项有一些内建的子选项供你使用。 比如oneline
会将每个提交放在一行显示,在浏览大量的提交时非常有用。 另外还有short
,full
和fuller
选项,它们展示信息的格式基本一致,但是详尽程度不一;
使用formart
!! Notez que cette opération n'affectera pas l'enregistrement de branche, elle est équivalente à la commande précédentegit checkout
pour extraire à nouveau un fichier pour écraser les modifications locales.git reset
est en fait utilisé pour définir le point principal de la branche. Après avoir fait une série de soumissions, j'ai soudainement découvert qu'il y avait des problèmes avec les soumissions récentes, et j'ai voulu le faire. supprimez-les des enregistrements de soumission. Supprimer, cela utilisera la commandegit reset
. Cette commande est suivie decommit id
, ce qui signifie que la branche actuelle est restaurée vers un. certaincommit id
Statut correspondant, les enregistrements de journal suivants sont supprimés et l'état du fichier dans l'espace de travail sera restauré à différents statuts en fonction de différents paramètres. 🎜- 🎜
--soft
: les modifications des versions qui ont été annulées seront placées dans la zone de stockage temporaire et pourront être soumises à nouveau. 🎜 - 🎜
--mixed
: L'option par défaut, les modifications apportées aux versions annulées seront placées dans le répertoire de travail. Elles peuvent d'abord être ajoutées à la zone de préparation et. puis soumis. 🎜 - 🎜
--hard
: Les modifications des versions annulées seront directement supprimées, comme si elles n'étaient jamais arrivées. 🎜
git rest HEAD file_name
pour restaurer un fichier à l'état correspondant à la version pointée parHEAD
, qui est en fait la version actuelle L'état dans la bibliothèque équivaut à la restauration des modifications locales. 🎜🎜Pour les fichiers de l'espace de travail qui n'ont pas été ajoutés à la zone de préparation et au référentiel, ils peuvent être restaurés par la méthode suivante après avoir exécuté l'opérationgit add
: 🎜git rm - -cached newfile
git restaurer --staged newfile
-
git reset HEAD newfile
🎜Remarque : lors de l'utilisation des deux dernières commandes, il ne peut pas s'agir du premier fichier du référentiel. 🎜9.2 Annuler les modifications apportées à un fichier
🎜Utilisezgit checkout -- [fileName]
pour restaurer le fichier au dernier état soumis. 🎜🎜 ! Remarque : N'oubliez pas quegit checkout -- <file></file>
est une commande dangereuse. Toutes les modifications locales que vous apportez à ce fichier seront perdues.Git
l'écrasera par la version validée la plus récemment. N'utilisez pas cette commande sauf si vous êtes sûr que vous ne souhaitez pas apporter de modifications locales à ce fichier. 🎜🎜Déclaration : étant donné que les fichiers qui n'ont pas été ajoutés à la zone de préparation ne peuvent pas être suivis, toute modification apportée à ceux-ci ne peut pas être annulée ! Cela ne peut être fait que via des opérations d'annulation de fichiers locaux. 🎜10. Afficher l'historique des opérations
🎜Si vous souhaitez afficher toutes les informations de soumission dans un projet, vous pouvez utilisergit log
pour imprimer les enregistrements de soumission de tous les participants. . 🎜🎜Chaque enregistrement affichera la vérificationSHA-1
soumise, le nom et l'adresse e-mail de l'auteur, ainsi que l'heure de soumission, classés dans l'ordre inverse de l'heure de soumission. 🎜🎜 En plus du simple
En plus du git log
, vous pouvez également ajouter des paramètres pour filtrer et formater les informations de sortie : 🎜- 🎜
-p --patch
: il affichera les modifications introduites par chaque différence de validation. Il est également possible de limiter le nombre d'entrées de log affichées, par exemple en utilisant l'option -2 pour afficher uniquement les deux commits les plus récents. 🎜🎜
- 🎜
--stat
: répertorie tous les fichiers modifiés sous chaque commit, combien de fichiers ont été modifiés et quelles lignes des fichiers modifiés ont été supprimées ou ajoutées. Il y a également un résumé à la fin de chaque soumission. 🎜🎜
- 🎜
--pretty
: Cette option comporte des sous-options intégrées que vous pouvez utiliser. Par exemple,oneline
affichera chaque soumission sur une seule ligne, ce qui est très utile lorsque l'on parcourt un grand nombre de soumissions. Il existe également des optionsshort
,full
etfuller
, qui affichent les informations essentiellement dans le même format, mais avec différents degrés de détail 🎜🎜 Utilisez
formart
pour personnaliser Définissez le format d'impression. Les informations sur le format couramment utilisées sont les suivantes : 🎜🎜🎜.
示例 10.1 将日志信息显示在一行上
$ git log --pretty=oneline
Copier après la connexionCopier après la connexion示例 10.2 以 short 格式输出仓库修改信息
$ git log --pretty=short
Copier après la connexion示例 10.3 以 full 格式输出仓库修改信息
$ git log --pretty=full
Copier après la connexion示例 10.4 以 fuller 格式输出仓库修改信息
$ git log --pretty=fuller
Copier après la connexion
修改文件人员与提交文件人员可以不是同一个人,所以在查询日志时会区分修改人与提交人。推荐学习:《Git学习教程》
- 🎜
- 🎜
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour supprimer un référentiel GIT, suivez ces étapes: Confirmez le référentiel que vous souhaitez supprimer. Suppression locale du référentiel: utilisez la commande RM -RF pour supprimer son dossier. Supprimer à distance un entrepôt: accédez à l'entrepôt, trouvez l'option "Supprimer l'entrepôt" et confirmez l'opération.

Résolve: lorsque la vitesse de téléchargement GIT est lente, vous pouvez prendre les étapes suivantes: Vérifiez la connexion réseau et essayez de changer la méthode de connexion. Optimiser la configuration GIT: augmenter la taille du tampon post (Git Config - Global Http.PostBuffer 524288000) et réduire la limite à basse vitesse (Git Config - Global Http.LowspeedLimit 1000). Utilisez un proxy GIT (comme Git-Proxy ou Git-LFS-Proxy). Essayez d'utiliser un client GIT différent (comme SourceTree ou GitHub Desktop). Vérifiez la protection contre les incendies

Afin de se connecter en toute sécurité à un serveur GIT distant, une clé SSH contenant des clés publiques et privées doit être générée. Les étapes pour générer une touche SSH sont les suivantes: Ouvrez le terminal et entrez la commande ssh-keygen -t rsa -b 4096. Sélectionnez l'emplacement d'enregistrement de la clé. Entrez une phrase de mot de passe pour protéger la clé privée. Copiez la clé publique sur le serveur distant. Enregistrez correctement la clé privée car ce sont les informations d'identification pour accéder au compte.

Pour télécharger des projets localement via GIT, suivez ces étapes: installer Git. Accédez au répertoire du projet. Clonage du référentiel distant à l'aide de la commande suivante: Git Clone https://github.com/username/repository-name.git

Comment ajouter une clé publique à un compte GIT? Étape: générer une paire de clés SSH. Copiez la clé publique. Ajoutez une clé publique dans Gitlab ou GitHub. Testez la connexion SSH.

Lors du développement d'un site Web de commerce électronique, j'ai rencontré un problème difficile: comment atteindre des fonctions de recherche efficaces en grande quantité de données de produit? Les recherches traditionnelles de base de données sont inefficaces et ont une mauvaise expérience utilisateur. Après quelques recherches, j'ai découvert le moteur de recherche TypeSense et résolu ce problème grâce à son client PHP officiel TypeSense / TypeSen-PHP, ce qui a considérablement amélioré les performances de recherche.

La connexion d'un serveur GIT au réseau public comprend cinq étapes: 1. Configurer l'adresse IP publique; 2. Ouvrez le port de pare-feu (22, 9418, 80/443); 3. Configurer l'accès SSH (générer des paires de clés, créer des utilisateurs); 4. Configurer l'accès HTTP / HTTPS (installer les serveurs, configurer les autorisations); 5. Testez la connexion (en utilisant les commandes SSH Client ou GIT).

Étapes pour mettre à jour le code GIT: Consultez le code: Git Clone https://github.com/username/repo.git Obtenez les derniers modifications: Git Fetch Merge Modifications: Git Merge Origin / Master Push Changes (Facultatif): Git Push Origin Master
