web-dev-qa-db-fra.com

'Git Init -B -B <Nom de la succursale>' La commande dans le terminal lance une erreur "commutateur inconnu"

J'essaie d'ajouter un projet existant à Github à l'aide de la ligne de commande. Je suis dans le répertoire de travail pertinent du terminal et j'essaie d'utiliser le git init -b main commande.

Initialement, j'avais une erreur relative à Xcode:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

J'ai essayé xcode-select --install Mais le logiciel n'était pas disponible à partir du serveur de mise à jour, donc j'ai téléchargé 'Outils de ligne de commande pour Xcode 12' à partir de https://developer.apple.com/download/more/ .

Maintenant en entrant git init -b main Je reçois ce qui suit:

error: unknown switch `b'
usage: git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [<directory>]

--template <template-directory>
                      directory from which templates will be used
--bare                create a bare repository
--shared[=<permissions>]
                      specify that the git repository is to be shared amongst several users
-q, --quiet           be quiet
--separate-git-dir <gitdir>
                      separate git dir from working tree

Je suis en cours d'exécution GIT Version: 2.24.3 (Apple Git-128)

Toute aide beaucoup appréciée!

5
pjgearing

git 2.24 n'a pas d'option -b/--initial-branch. Il a été ajouté à git 2.28 . Vous devez passer pour utiliser l'option.

Ou, comme @matt a dit, créez un repo puis renommez la branche:

git init repo
cd repo
git branch -m master slave
6
phd

avant Git V2.28

git init                              # ①
git symbolic-ref HEAD refs/heads/main # ②

① après git init, la branche master n'existe pas réellement. Les branches ne sont créées que lorsqu'elles ont au moins une commission.

② Cette mise à jour .git/HEAD contenir ref: refs/heads/main à la place de ref: refs/heads/master. Alternativement, git checkout -b main.

git v2.28 +

Comme @phd dit, le -b/--initial-branch L'option a été ajoutée dans GIT V2.28. GIT 2.28 introduit également une option de configuration pour spécifier votre branche préférée par défaut:

git config --global init.defaultBranch main

En savoir plus sur le nouveau init.defaultBranch Réglage dans Publication du blog de GitHub .

1
Robin A. Meade

Le -b Le drapeau est uniquement disponible dans la version 2.28 ou ultérieure, vous devez mettre à niveau votre GIT.

Sur les systèmes Linux basés à Debian tels que Ubuntu, procédez comme suit:

Sudo add-apt-repository -y ppa:git-core/ppa
Sudo apt update
Sudo apt install git -y
0
Thiago Krempser

Cela se produit en raison de l'indisponibilité d'un outil appelé Xcode Select, en cours d'exécution xcode-select --install Dans votre terminal fixe ces problèmes avec Git ne fonctionnant pas.

0
Shodipo Ayomide