XCode: Usando las herramientas de command-line, ¿cómo creo un git desde una carpeta e importo eso en un proyecto?

Tengo una carpeta en ~ / Documents / Share que contiene classs que uso mucho y que funcionan juntas. Quiero transformar esa carpeta en un submodule de git y luego importar eso en Xcode 5. Mi idea es usar ese git en muchos proyectos.

Estoy luchando con esto durante las últimas 3 horas. He intentado una docena de instrucciones "fáciles" en la web, ninguna funcionó.

¿Cómo puedo hacer eso? Todo lo que quiero es crear un submodule local para trabajar en un proyecto local.

Por favor, no den explicaciones ectoplasmáticas exotéricas … explíquenme como si tuviera cinco años (porque nunca antes había usado git).

Sí, estoy familiarizado con terminal.


cuando trato de hacer git push como se sugiere, veo este error:

Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 292 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: error: refusing to update checked out branch: refs/heads/master remote: error: By default, updating the current branch in a non-bare repository remote: error: is denied, because it will make the index and work tree inconsistent remote: error: with what you pushed, and will require 'git reset --hard' to match remote: error: the work tree to HEAD. remote: error: remote: error: You can set 'receive.denyCurrentBranch' configuration variable to remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into remote: error: its current branch; however, this is not recommended unless you remote: error: arranged to update its work tree to match what you pushed in some remote: error: other way. remote: error: remote: error: To squelch this message and still keep the default behaviour, set remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'. 

No estoy seguro de cómo y cómo funcionaría con un submodule local, pero hacemos algo similar con nuestra count bitbucket.

Para transformar su carpeta en un repository de git, ingrese todos los files y empújelos a un server:

 cd yourdirectory git init (1) git add . (2) git commit -m "this is my commit message" (3) git remote add origin <adress-of-your-remote-git-repository> (4) git push (5) 
  1. Transforma su directory en un repository git local.
  2. Etapas de todos los files en el directory para su puesta en escena de git.
  3. Confirma tus files por etapas.
  4. Agrega un origen remoto a su repository local.
  5. Empuja su repository local a la reference remota.

Ahora tiene un repository remoto con todos sus files. Para usarlo como un submodule en cualquier proyecto habilitado por git:

 cd yourprojectdirectory git submodule add <adress-of-your-remote-git-repository> (1) git submodule update --init --recursive (2) 
  1. Agrega el repository remoto como un nuevo submodule de git.
  2. Inicializa el submodule para que tenga contenido real.

Todo lo que queda ahora es abrir la carpeta del submodule agregado en el buscador y arrastrar esa carpeta a su proyecto de Xcode.

Para actualizar sus files con algunos cambios realizados en el proyecto local, haría los cambios en el proyecto y luego haría lo siguiente:

 cd yourprojectdirectory/yoursubmoduledirectory git add changedfile.m git commit -m "your commit message" git push 

Por supuesto, entonces tendría que sincronizar esos cambios con sus otros proyectos:

 cd yourotherprojectdirectory/yoursubmoduledirectory git pull