remote Come si clona un repository Git in una cartella specifica?




git pull (13)

Riguardo a questa linea dal post originale:

"So come spostare i file dopo aver clonato il repository, ma questo sembra rompere git"

Sono in grado di farlo e non vedo alcun problema finora con le mie operazioni add, commit, push, pull.

Questo approccio è affermato sopra, ma semplicemente non suddiviso in passaggi. Ecco i passaggi che funzionano per me:

  1. clonare il repository in una nuova cartella temporanea
  2. cd nella cartella radice che hai appena clonato localmente
  3. copia l'intero contenuto della cartella, inclusa la directory /.git, in qualsiasi cartella esistente che ti piace; (ad esempio un progetto di eclissi che vuoi unire al tuo repository)

La cartella esistente in cui hai appena copiato i file, ora è pronta per interagire con git.

Eseguendo il comando git clone [email protected]:whatever crei una directory nella mia cartella corrente di nome qualunque, e rilascia il contenuto del repository Git in quella cartella:

/httpdocs/whatever/public

Il mio problema è che ho bisogno che i contenuti del repository Git siano clonati nella mia directory corrente in modo che appaiano nella posizione corretta per il web server:

/httpdocs/public

So come spostare i file dopo aver clonato il repository, ma questo sembra spezzare Git e mi piacerebbe poter aggiornare semplicemente chiamando git pull . Come posso fare questo?


Assicurati di rimuovere il repository .git se stai cercando di verificare cosa nella directory corrente.

rm -rf .git quindi git clone https://github.com/symfony/symfony-sandbox.git


Opzione A:

git clone [email protected]:whatever folder-name

Opzione B:

sposta anche la cartella .git.

Meglio ancora:

Conserva la tua copia di lavoro da qualche altra parte e crea un collegamento simbolico.


Quando sposti i file dove vuoi, stai anche spostando la directory .git ? A seconda del sistema operativo e della configurazione, questa directory potrebbe essere nascosta.

Contiene il repository e i file di supporto, mentre i file di progetto presenti nella directory /public sono solo le versioni nel commit attualmente in uscita (ramo principale per impostazione predefinita).


Se stai usando ssh per git cloning puoi usare il seguente comando.

git -C path clone [email protected]:path_to_repo.git

ad esempio: git -C /home/ubuntu/ clone [email protected]:kennethreitz/requests.git estrarrebbe il repository git per le requests a /home/ubuntu/ path.


Per clonare il repository git in una cartella specifica, è possibile utilizzare il parametro -C <path> , ad es

git -C /httpdocs clone [email protected]:whatever

Sebbene continui a creare una whatever cartella su di essa, così per clonare il contenuto del repository nella directory corrente, usa la seguente sintassi:

git [email protected]:whatever .

Si noti che la clonazione in una directory esistente è consentita solo quando la directory è vuota .

Poiché stai clonando in una cartella accessibile al pubblico, considera la separazione del repository Git dalla struttura di lavoro utilizzando --separate-git-dir=<git dir> o escludi la cartella .git nella configurazione del tuo server web (ad es .htaccess file .htaccess ).


Vai nella cartella .. Se la cartella è vuota, allora:

git clone [email protected]:whatever .

altro

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master

Ecco come lo farei, ma ho fatto un alias per farlo per me.

$ cd ~Downloads/git; git clone https:git.foo/poo.git

C'è probabilmente un modo più elegante per farlo, tuttavia ho trovato questo per me più semplice.

Ecco lo pseudonimo che ho creato per accelerare le cose. L'ho fatto per zsh, ma dovrebbe funzionare bene per bash o qualsiasi altra shell come fish, xyzsh, fizsh e così via.

Modifica ~/.zshrc , ~/.zshrc , ecc. Con il tuo editor preferito (il mio è Leafpad, quindi scriverei $ leafpad ~/.zshrc ).

La mia preferenza personale, tuttavia, è di creare un plugin zsh per tenere traccia di tutti i miei alias. Puoi creare un plugin personale per oh-my-zsh eseguendo questi comandi:

$ cd ~/.oh-my-zsh/
$ cd plugins/
$ mkdir your-aliases-folder-name; cd your-aliases-folder-name
     # In my case '~/.oh-my-zsh/plugins/ev-aliases/ev-aliases'
$ leafpad your-zsh-aliases.plugin.zsh
     # Again, in my case 'ev-aliases.plugin.zsh'

Successivamente, aggiungi queste righe al file alises.plugin vuoto appena creato:

# Git aliases
alias gc="cd ~/Downloads/git; git clone "

(Da qui, sostituisci il tuo nome con il mio.)

Quindi, per far funzionare gli alias, essi (insieme a zsh) devono essere originati (o come si chiama). Per fare ciò, all'interno del tuo documento plugin personalizzato aggiungi questo:

## Ev's Aliases

#### Remember to re-source zsh after making any changes with these commands:

#### These commands should also work, assuming ev-aliases have already been sourced before:

allsource="source $ZSH/oh-my-zsh.sh ; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh; clear"
sourceall="source $ZSH/oh-my-zsh.sh ; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh"
#### 

####################################

# git aliases

alias gc="cd ~/Downloads/git; git clone "
# alias gc="git clone "
# alias gc="cd /your/git/folder/or/whatever; git clone "

####################################

Salva il tuo plugin oh-my-zsh ed esegui allsource . Se non sembra funzionare, basta eseguire source $ZSH/oh-my-zsh.sh; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh source $ZSH/oh-my-zsh.sh; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh . Questo caricherà la fonte del plugin che ti permetterà di usare allsource d'ora in poi.

Sono in procinto di creare un repository Git con tutti i miei alias. Per favore sentitevi liberi di dare un'occhiata qui: i file dot di Ev . Non esitate a biforcare e migliorare su di loro in base alle proprie esigenze.


For Windows user 

1> Open command prompt.
2> Change the directory to destination folder (Where you want to store your project in local machine.)
3> Now go to project setting online(From where you want to clone)
4> Click on clone, and copy the clone command.
5> Now enter the same on cmd .

It will start cloning saving on the selected folder you given .

Clonazione del repository Git di base

Si clona un repository con

git clone [url]

Ad esempio, se vuoi clonare la libreria Git Open Framework Drupal della Stanford University chiamata open_framework, puoi farlo in questo modo:

$ git clone git://github.com/SU-SWS/open_framework.git

Ciò crea una directory denominata open_framework (nella posizione corrente del file system locale), inizializza una directory .git al suo interno, estrae tutti i dati per quel repository e controlla una copia funzionante dell'ultima versione. Se vai nella directory open_framework appena creata, vedrai i file di progetto lì dentro, pronti per essere lavorati o usati.

Clonazione di un repository in una cartella locale specifica

Se si desidera clonare il repository in una directory denominata qualcosa diversa da open_framework, è possibile specificarlo come opzione della riga di comando successiva:

$ git clone git:github.com/SU-SWS/open_framework.git mynewtheme

Quel comando fa la stessa cosa del precedente, ma la directory di destinazione si chiama mynewtheme.

Git ha un numero di diversi protocolli di trasferimento che è possibile utilizzare. L'esempio precedente utilizza il protocollo git: //, ma è anche possibile vedere http (s): // o user @ server: /path.git, che utilizza il protocollo di trasferimento SSH.


uso

git clone <repository>

Clona il repository situato nel <repository> sul computer locale. Il repository originale può trovarsi sul filesystem locale o su una macchina remota accessibile tramite HTTP o SSH.

git clone <repo> <directory>

Clona il repository situato in <repository> nella cartella denominata <directory> sul computer locale.

Fonte: impostazione di un repository


Se vuoi clonare nella cartella corrente, dovresti provare questo:

git clone https://github.com/example/example.git ./





git-clone