Partage
  • Partager sur Facebook
  • Partager sur Twitter

Git init ne crée pas la branche master

22 septembre 2011 à 16:16:10

Bonjour,

Je suis sur un mutualisé chez 1and1, ils ont installé git il y a pas longtemps donc je voulais l'utiliser.

Je l'avais déjà utilisé en suivant le tuto ca avait marché mais j'arrive plus à le refaire, pourtant je fais tout proprement, voilà les commandes que je lance en ssh :
mkdir test
cd test
git init
touch test.txt
git add -A
git commit -a


Et là, si je fais git pull, j'ai 'Where do you want to fetch from today?', si je fais push, j'ai 'No destination configured to push to', pourquoi?

A mon avis il n'y a pas de branche master qui se crée quand je fais le git init, c'est ça le problème? Comment le régler?

Merci beaucoup
  • Partager sur Facebook
  • Partager sur Twitter
23 septembre 2011 à 15:42:15

C'est normal :)

Pour pusher/puller il faut que tu ais un autre serveur sur lequel il y a ton repo et où tu peux pusher/puller (comme Github par exemple). Là ton repo est sur le serveur point.

Et à mon avis il y a bien la branche master :
$ git branch

Doit afficher quelque chose du genre :
* master

non?
  • Partager sur Facebook
  • Partager sur Twitter
23 septembre 2011 à 21:28:27

Salut cerium50,

En fait ça me marque * master seulement une fois que j'ai crée un fichier et fait un commit, mais j'ai pas compris pourquoi c'est normal que ça marche pas parce qu'avant je suis sur que ça marchait et je faisais pareil.

J'ai déjà réussi à le faire marcher sans jamais faire quoi que ce soit sur github j'en suis sûr. Je faisais en local un git clone ssh://... et j'arrivais à récupérer mes fichiers qui étaient sur le repo de mon ftp.
  • Partager sur Facebook
  • Partager sur Twitter
24 septembre 2011 à 11:32:41

Et bien, sur ton pc local, fait un git clone de ton serveur. Ca fera comme avant. Pour le moment, tu travailles sur ton serveur, c'est normal qu'il ne sache pas où pusher
  • Partager sur Facebook
  • Partager sur Twitter
64kB de mémoire, c'est tout ce dont j'ai besoin
24 septembre 2011 à 12:14:47

Comment faire alors?

J'essaye juste d'utiliser git pour avoir une version dev de mon site accessible et modifiable de partout.

C'est pas un projet open source avec github ou autre j'aurais bien utilisé svn mais j'ai que git à disposition comme c'est un mutualisé j'ai pas le choix.

Je suis bien obligé de faire push ou pull si j'ai bien compris parce que les commit sont pas comme en svn mais se font en local uniquement, comment faire pour tout envoyer au dossier de dev.

En fait pour moi l'endroit ou je veux tout pusher et puller c'est mon dossier dev sur mon ftp.

Comment faire svp?

Merci
  • Partager sur Facebook
  • Partager sur Twitter
24 septembre 2011 à 16:58:10

Suis le conseil de Nathalya! Là le repo est sur le serveur et toi aussi donc tu peux pas pusher/puller. Si tu veux faire ça tu clone le repo sur ton pc, et après tu auras un endroit où pusher/puller (le serveur).

(et Github c'est pas seulement pour les projets *libres*, et essaye de penser à la manière de Git et pas de SVN, parce que sinon tu vas pas aller bien loin)
  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2011 à 15:11:10

Même en clonant en local c'est le même problème.

Je suis en local j'ouvre le git bash, je fais :
git clone ssh://username@monsite.fr/~/dossier-ou-jai-fait-git-init


J'ai un warning disant que j'ai cloné un repo vide (normal).

Ensuite je crée un fichier je le add je le commit je mets le message du commit, je tente de pull:
"Your configuration specifies to merge with the ref 'master' from the remote, but no such ref was fetched."

Je tente de push:
"No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as master.
fatal: The remote end hung up unexpectedly.
error: failed to push some refs to 'ssh:.."

Citation : Nathalya


tu travailles sur ton serveur, c'est normal qu'il ne sache pas où pusher



Désolé mais c'est faux, je l'ai déja fait! Si je fais un "git init --bare" je suis d'accord on pourrait pas pusher puller en étant sur le serveur, mais j'avais fait git init tout court. Ca met tous les fichiers git dans un dossier .git au lieu de les mettre directement à la racine d'ou tu lance la commande.

Ensuite, j'avais fait un git clone en local, j'ai crée des fichiers je les ai pusher, après bien sur les fichiers etaient pas dans le dossier ou j'ai fait le git init direcement. J'ouvrais putty j'allais dans le dossier, et la je faisais git pull, et ça me prenait les fichiers!

Après peut-etre que j'ai rien compris aux bonnes pratiques de git et que c'est pas comme ça qu'il faut procéder, mais me dites pas que c'est impossible de procéder comme ça alors que je l'ai déjà fait moi-même donc suis sur à 100% que c'est possible.

Merci
  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2011 à 18:52:38

"Perhaps you should specify a branch such as master."
$ git push origin master
?

Et ce que tu dis Nathalya c'est que tu voulais pusher/puller sans avoir cloner le repo donc ça ne pouvait pas marcher...
  • Partager sur Facebook
  • Partager sur Twitter
1 octobre 2011 à 12:31:10

Oui merci cerium ca marche le push origin master... seulement si c'est un git init --bare de l'autre coté par contre et pas si c'est un git init

Bon je vais me débrouiller comme ça mais bon c'est vraiment bizarre j'avais deja fait un push sans mettre origin master et meme vers un git init, sans parler du push et pull en ssh sur le serveur lui-meme quand c'est un git init, mais bon tant pis.

Merci à vous
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
2 octobre 2011 à 19:35:15

Citation : cerium50

"Perhaps you should specify a branch such as master."
$ git push origin master
?

Et ce que tu dis Nathalya c'est que tu voulais pusher/puller sans avoir cloner le repo donc ça ne pouvait pas marcher...



Aussi, peut-être utiliser `git push --set-upstream` (ou `git push -u`) pour éviter d'avoir à taper `origin master` à chaque fois… (C'est d'ailleurs fait automatiquement quand on clone un autre répo.)
  • Partager sur Facebook
  • Partager sur Twitter
4 octobre 2011 à 14:26:18

En fait le origin master quand je le fais une fois j'ai plus besoin de le faire.

En fait le truc que j'ai mal compris dans le tuto git sur le sdz, c'est au niveau du git init.

J'aimerais avoir confirmation entre la différence entre git init et git init --bare.

Sur le tuto, il est dit :

Citation


Si vous souhaitez mettre en place un serveur de rencontre pour votre projet, il suffit d’y faire un git clone ou un git init avec l’option --bare. Cela aura pour effet de créer un dépôt qui contiendra uniquement le dossier .git représentant l’historique des changements (ce qui est suffisant, car personne ne modifie les fichiers source directement sur le serveur).



Donc l'option bare c'est si on veut avoir juste le depot, mais on aura pas la structure réel des fichiers dossiers etc, mais il est dit que si on fait juste un git init on peut faire des modifs directement sur le serveur.

C'est ça que j'aimerais faire en fait, avoir un serveur de dev ou je push pull et que je puisse quand meme consulter depuis le navigateur (que la structure du site reste visible et qu'il y ait un dossier .git en + pour l'historique etc...), est-ce possible?

Merci
  • Partager sur Facebook
  • Partager sur Twitter
19 février 2021 à 23:26:56

Bonjour. je suis debutant sur git

en tapant git branch je n'ai pas l'affichage *master comme indiqué dans le Tuto et je n'arrive pas à creer une nouvelle branche avec la commande git branch nomdelabranche...... merci de m'aider

-
Edité par Skycode 20 février 2021 à 1:09:54

  • Partager sur Facebook
  • Partager sur Twitter
Skycode
21 février 2021 à 10:11:52

@Skycode Bonjour, merci de ne pas déterrer d'ancien sujet.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter