Gitリポジトリを特定のフォルダーにクローンするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/651038

  •  19-08-2019
  •  | 
  •  

質問

コマンドgit clone git@github.com:whateverを実行すると、現在のフォルダーにwhateverという名前のディレクトリが作成され、Gitリポジトリのコンテンツがそのフォルダーにドロップされます。

/httpdocs/whatever/public

私の問題は、Webサーバーの適切な場所に表示されるように、Gitリポジトリのコンテンツを現在のディレクトリに複製する必要があることです:

/httpdocs/public

リポジトリのクローンを作成した後にファイルを移動する方法は知っていますが、これはGitを破壊するようです。git pullを呼び出すだけで更新できるようにしたいと思います。どうすればいいですか?

役に立ちましたか?

解決

オプションA:

git clone git@github.com:whatever folder-name

エルゴ、right hereの場合:

git clone git@github.com:whatever .

オプションB:

.gitフォルダーも移動します。ほとんどのグラフィカルファイルエクスプローラーではshopt -s dotglobフォルダーが非表示になっているため、必ず非表示のファイルを表示してください。

mv /where/it/is/right/now/* /where/I/want/it/
mv /where/it/is/right/now/.* /where/I/want/it/

1行目はすべての通常ファイルを取得し、2行目はドットファイルを取得します。また、ドットグロブを有効にして1行で実行することもできます(つまり、-fn)が、この回答が答える質問をしている場合、おそらくそれは悪い解決策です。

さらに良い:

作業コピーをどこかに保管し、シンボリックリンクを作成します。このように:

ln -s /where/it/is/right/now /the/path/I/want/to/use

あなたの場合、これは次のようになります:

ln -sfn /opt/projectA/prod/public /httpdocs/public

簡単に変更して、必要に応じてテストできます。例:

ln -sfn /opt/projectA/test/public /httpdocs/public

ファイルを移動せずに。誰かがこれらの行をコピーする場合に備えて-fを追加しました(-nは強制、<=>すでに存在しないリンクとの不要なやり取りを避ける)。

単に機能させたい場合はオプションAを使用し、他の誰かがあなたが行ったことを確認する場合はオプションCを使用します。

他のヒント

この質問をしている多くの人が後をつけていると思う例はこれです。 gitリポジトリの内容をダンプするディレクトリに いる場合は、次を実行します:

git clone git@github.com:whatever .

<!> quot;。<!> quot;最後に、現在のフォルダーをチェックアウトフォルダーとして指定します。

フォルダに移動します。フォルダが空の場合:

git clone git@github.com:whatever .

else

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

基本的なGitリポジトリのクローニング

次を使用してリポジトリのクローンを作成します

git clone [url]

たとえば、open_frameworkというStanford University Drupal Open Framework Gitライブラリのクローンを作成する場合は、次のようにします。

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

(現在のローカルファイルシステムの場所に)open_frameworkという名前のディレクトリを作成し、その中の.gitディレクトリを初期化し、そのリポジトリのすべてのデータを取得し、最新バージョンの作業コピーをチェックアウトします。新しく作成されたopen_frameworkディレクトリに移動すると、<!>#8217;プロジェクトファイルが表示され、作業または使用する準備ができています。

特定のローカルフォルダーへのリポジトリのクローン作成

open_framework以外の名前のディレクトリにリポジトリを複製する場合、次のコマンドラインオプションとして指定できます。

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

このコマンドは前のものと同じことを行いますが、ターゲットディレクトリはmynewthemeと呼ばれます。

Gitには、使用できるさまざまな転送プロトコルがあります。前の例ではgit://プロトコルを使用していますが、SSH転送プロトコルを使用するhttp(s)://またはuser @ server:/path.gitも表示される場合があります。

ファイルを目的の場所に移動するとき、.gitディレクトリも移動しますか? OSと構成によっては、このディレクトリが非表示になる場合があります。

リポジトリとサポートファイルが含まれていますが、/publicディレクトリにあるプロジェクトファイルは、現在チェックアウトされているコミット(デフォルトではマスターブランチ)のバージョンのみです。

クローン:

git clone git@jittre.unfuddle.com:jittre/name.git

<!> quot;特定のブランチ<!> quot;のクローン:

git clone -b [branch-name] git@jittre.unfuddle.com:jittre/name.git

gitリポジトリを特定のフォルダーに複製するには、-C <path>パラメーターを使用できます。例:

git -C /httpdocs clone git@github.com:whatever

その上にwhateverフォルダを作成しますが、リポジトリのコンテンツを現在のディレクトリに複製するには、次の構文を使用します。

git git@github.com:whatever .

既存のディレクトリへのクローン作成は、ディレクトリがの場合にのみのみ許可されます。

パブリックにアクセスできるフォルダーにクローンを作成するため、Webサーバー構成(--separate-git-dir=<git dir>ファイルなど)で.gitまたは除外.htaccessフォルダーを使用してGitリポジトリを作業ツリーから分離することを検討してください。

現在のフォルダーにクローンを作成する場合は、これを試してください:

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

現在の作業ディレクトリにクローンを作成するには:

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

別のディレクトリにクローンを作成するには

git clone https://github.com/link.git ./Folder1/ Folder2

ご協力ください:)

現在のディレクトリにチェックアウトしようとしている場合は、必ず.gitリポジトリを削除してください。

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

使用法

git clone <repository>

<!> lt; repository <!> gt;にあるリポジトリを複製します。ローカルマシンに。元のリポジトリは、ローカルファイルシステムまたはHTTPまたはSSH経由でアクセス可能なリモートマシンに配置できます。

git clone <repo> <directory>

<!> lt; repository <!> gt;にあるリポジトリを複製します。 <!> lt; directory <!> gt;というフォルダーにローカルマシン上。

出典: リポジトリのセットアップ

これを行う方法は次のとおりですが、私のためにエイリアスを作成しました。

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

これを行うにはもっとエレガントな方法があるでしょうが、私はこれが自分にとって最も簡単であることがわかりました。

これを高速化するために作成したエイリアスを次に示します。 zsh用に作成しましたが、bashや、魚、xyzsh、fizshなどの他のシェルでも問題なく動作するはずです。

お気に入りのエディターで~/.zshrc/.bashrcなどを編集します(私はLeafpadなので、$ leafpad ~/.zshrcと書きます)。

ただし、私の個人的な好みは、zshプラグインを作成してすべてのエイリアスを追跡することです。次のコマンドを実行して、oh-my-zshの個人用プラグインを作成できます。

$ 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'

その後、新しく作成した空のalises.pluginファイルに次の行を追加します。

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

(ここから、名前を私の名前に置き換えます。)

その後、エイリアスを機能させるために、それらは(zshとともに)ソースイン(またはそれが呼び出されたもの)である必要があります。これを行うには、カスタムプラグインドキュメント内に以下を追加します。

## 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 "

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

oh-my-zshプラグインを保存して、allsourceを実行します。それでもうまくいかない場合は、単にsource $ZSH/oh-my-zsh.sh; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zshを実行します。これにより、プラグインのソースがロードされ、今後<=>を使用できるようになります。


すべてのエイリアスを使用してGitリポジトリを作成しています。こちらをご覧ください: Evのドットファイル。自由に分岐して、ニーズに合わせて改善してください。

なんらかの理由から、この構文は際立っていません:

git clone repo-url [folder]

ここで、フォルダーはローカルフォルダー(ローカルリポジトリー)へのオプションのパスです。

Git cloneは、リモートリポジトリからローカルリポジトリへのコードもpullします。 実際、それは本当です:

git clone repo-url  =  git init + git remote add origin repo-url + git pull

sshgit cloningに使用している場合、次のコマンドを使用できます。

git -C path clone git@github.com:path_to_repo.git

eg: git -C /home/ubuntu/ clone git@github.com:kennethreitz/requests.gitは、requestsのgitリポジトリを/home/ubuntu/パスにプルします。

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 .

次のリンクに従うことをお勧めします。

https://help.github.com/en/articles/cloning-a-repository

git clone URL コマンドの実行中に次のエラーが表示された場合

fatal: unable to access 'URL': Could not resolve host: github.com

次に、次のコマンドを使用して修正します。

git config --global --unset https.proxy

元の投稿の次の行について:

  

<!> quot;レポジトリのクローンを作成した後にファイルを移動する方法は知っていますが、これは   git <!> quot;

が壊れているようです

これを行うことができますが、これまでの追加、コミット、プッシュ、プルの操作に問題はありません。

このアプローチは上記のとおりですが、ステップに分解されたものではありません。 私に役立つ手順は次のとおりです。

  1. リポジトリを新しい一時フォルダーに複製します
  2. ローカルにクローンしたばかりのルートフォルダにcd
  3. /。gitディレクトリを含むフォルダーの内容全体を、任意の既存のフォルダーにコピーします。 (レポジトリとマージするEclipseプロジェクトの場合)

ファイルをコピーしたばかりの既存のフォルダーは、gitと対話する準備ができました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top