1. Établir une connexion
Tout d'abord, vous devez créer un compte sur github, gitee, gitcode (CSDN). Ouvrez ensuite l'interface graphique GIT sur le PC et vous pourrez afficher la clé publique ou générer la clé publique dans le menu d'aide. Copiez la clé publique indiquée ici dans divers paramètres de compte git. La manière de définir la clé publique est différente pour chaque plate-forme git et fonctionne en fonction de la situation.
2. Téléchargez plusieurs bibliothèques git en même temps
Par exemple, un projet a été créé sur Code Cloud, et pour synchroniser avec la bibliothèque git de csdn, vous pouvez créer une bibliothèque sur git, copier son URL de clone, puis exécuter la commande suivante dans le répertoire racine de la bibliothèque locale pour télécharger deux bibliothèques en même temps.
git remote set-url --add origin https://gitcode.net/zhijian_net/fileq.git
[Remarque] Lors de la construction d'une bibliothèque sur csdn, vous ne devez modifier aucun fichier, sinon des conflits se produiront. En cas de conflit, supprimez la bibliothèque et ajoutez-la à nouveau.
La commande ci-dessus a en fait ajouté une ligne d'enregistrements dans .git/config, et ajouté une ligne d'url dans origin, qui vient d'être ajoutée.
["origine" distante]
url = https://gitee.com/zhijian_net/fileq
fetch = +refs/heads/ :refs/remotes/origin/
url = https://gitcode.net/zhijian_net/fileq.git
3. Problèmes de format de fichier texte Windows/UNIX
Par défaut, lors du téléchargement de Git, il convertira le caractère de retour à la ligne du fichier en fonction du système d'exploitation, et des outils comme eclipse peuvent être définis au format UNIX, ce qui entraînera des incohérences avec le local. Comparé par incomparable, c'est évidemment le même mais l'affichage est différent.
La conversion automatique peut être désactivée par
git config --global core.autocrlf false
4. Commandes communes
Après avoir ajouté, supprimé ou modifié des fichiers dans le répertoire git, les trois commandes les plus couramment utilisées sont : git add . : ajoutez tous
les fichiers modifiés dans le sous-répertoire actuel à l'index, et notez qu'il y a un point derrière ; Si vous vous connectez à plusieurs référentiels en même temps et que vous modifiez le contenu d'un référentiel git en ligne, un échec de push se produira et vous ne souhaitez pas annuler les modifications locales. À ce stade, vous pouvez utiliser git push -f pour forcer tous les référentiels git à être écrasés localement.
5. Jeu de commandes
Il existe de nombreuses commandes, copiées depuis Internet, et toutes n'ont pas été utilisées
Commande | expliquer |
---|---|
git init | Initialiser l'entrepôt git local (créer un nouvel entrepôt) |
git config --global user.name "xxx" | configurer le nom d'utilisateur |
git config --global user.email "[email protected]" | configurer le courrier |
git config --global color.ui vrai | Les commandes telles que git status sont automatiquement colorées |
git config --global color.status auto | |
git config --global color.diff auto | |
git config --global color.branch auto | |
git config --global color.interactive auto | |
git config --global --unset http.proxy | supprimer la configuration du proxy sur git |
git clone git+ssh://[email protected]/VT.git | cloner un entrepôt distant |
statut git | Afficher l'état de la version actuelle (modifiée ou non) |
git ajouter xyz | Ajouter des fichiers ou des dossiers xyz à indexer |
git add . | Ajouter tous les fichiers modifiés dans le sous-répertoire actuel à l'index |
git commit -m 'xxx' | soumettre |
git commit --amend -m 'xxx' | Fusionner le dernier commit (pour les révisions répétées) |
git commit -am 'xxx' | Combinez ajouter et valider en une seule étape |
git rm xxx | Supprimer les fichiers dans l'index |
git rm -r * | supprimer récursivement |
journal git | afficher le journal de validation |
git log -1 | Afficher 1 ligne de journaux, -n correspond à n lignes |
git log --stat | Afficher le journal de validation et les fichiers de modifications associés |
git log -p -m | |
git afficher l'ID de validation | Afficher les détails d'un commit |
git afficher l'ID de validation | Seuls les premiers chiffres du commitid peuvent être utilisés |
git show TÊTE | Afficher le journal de validation HEAD |
git show TÊTE ^ | Afficher le commit log du parent de HEAD (version précédente) ^^ pour les deux dernières versions^5 pour les 5 dernières versions |
jour de merde | afficher les balises existantes |
balise git -a v2.0 -m 'xxx' | Ajouter une balise v2.0 |
spectacle git v2.0 | Afficher le journal et les détails de la v2.0 |
journal git v2.0 | Afficher les journaux pour la v2.0 |
git diff | Afficher toutes les modifications non ajoutées à l'index |
git diff --cached | Afficher toutes les modifications qui ont un index ajouté mais pas encore validées |
git diff HEAD^ | Comparez les différences avec la version précédente |
git diff TÊTE – ./lib | Comparez les différences avec le répertoire HEAD version lib |
git diff origine/maître…maître | Comparer le maître de branche distant avec le maître de branche local |
git diff origine/maître…maître --stat | Afficher uniquement les fichiers de différence, pas le contenu spécifique |
git remote ajouter l'origine git+ssh://[email protected]/VT.git | Ajouter une définition distante (pour push/pull/fetch) |
branche git | afficher les succursales locales |
branche git --contains 50089 | afficher la branche contenant le commit 50089 |
branche git -a | afficher toutes les succursales |
branche git -r | afficher toutes les branches d'origine |
branche git --merged | 显示所有已合并到当前分支的分支 |
git branch --no-merged | 显示所有未合并到当前分支的分支 |
git branch -m master master_copy | 本地分支改名 |
git checkout -b master_copy | 从当前分支创建新分支master_copy并检出 |
git checkout -b master master_copy | 上面的完整版 |
git checkout features/performance | 检出已存在的features/performance分支 |
git checkout --track hotfixes/BJVEP933 | 检出远程分支hotfixes/BJVEP933并创建本地跟踪分支 |
git checkout v2.0 | 检出版本v2.0 |
git checkout -b devel origin/develop | 从远程分支develop创建新本地分支devel并检出 |
git checkout – README | 检出head版本的README文件(可用于修改错误回退) |
git merge origin/master | 合并远程master分支至当前分支 |
git cherry-pick ff44785404a8e | 合并提交ff44785404a8e的修改 |
git push origin master | 将当前分支push到远程master分支 |
git push origin :hotfixes/BJVEP933 | 删除远程仓库的hotfixes/BJVEP933分支 |
git push --tags | 把所有tag推送到远程仓库 |
git fetch | 获取所有远程分支(不更新本地分支,另需merge) |
git fetch --prune | 获取所有原创分支并清除服务器上已删掉的分支 |
git pull origin master | 获取远程分支master并merge到当前分支 |
git mv README README2 | 重命名文件README为README2 |
git reset --hard HEAD | 将当前版本重置为HEAD(通常用于merge失败回退) |
git rebase | |
git branch -d hotfixes/BJVEP933 | 删除分支hotfixes/BJVEP933(本分支修改已合并到其他分支) |
git branch -D hotfixes/BJVEP933 | 强制删除分支hotfixes/BJVEP933 |
git ls-files | 列出git index包含的文件 |
git show-branch | 图示当前分支历史 |
git show-branch --all | 图示所有分支历史 |
git whatchanged | 显示提交历史对应的文件修改 |
git revert commitid | 撤销由commitid指定的提交 |
git ls-tree HEAD | 内部命令:显示某个git对象 |
git rev-parse v2.0 | 内部命令:显示某个ref对于的SHA1 HASH |
git reflog | 显示所有提交,包括孤立节点 |
git show HEAD@{5} | |
git show master@{yesterday} | 显示master分支昨天的状态 |
git log --pretty=format:‘%h %s’ --graph | 图示提交日志 |
git show HEAD~3 | |
git show -s --pretty=raw 2be7fcb476 | |
git stash | 暂存当前修改,将所有至为HEAD状态 |
git stash list | 查看所有暂存 |
git stash show -p stash@{0} | 参考第一次暂存 |
git stash apply stash@{0} | 应用第一次暂存 |
git grep “delete from” | 文件中搜索文本“delete from” |
git grep -e ‘#define’ --and -e SORT_DIRENT | |
git gc | |
git fsck |