これは私のGitリポジトリです:
https://github.com/benqzq/ulcwe
local
という名前のディレクトリがあり、その名前を別の名前に変更したい(たとえば、local
からxyz
に)。
各ファイルのディレクトリ名を個別に変更する必要があるため、GitHub GUIを介して手動で変更するのは悪夢です(GitHubにはまだ「ディレクトリの名前変更」機能が含まれていません。信じられないかもしれません)。
Gitをインストールした後、次のコマンドを試しました。
git remote https://github.com/benqzq/ulcwe && git mv local xyz && exit
GitHubパスワードのプロンプトは表示されませんでしたが、次のエラーが発生しました。
fatal: Not a git repository (or any parent up to mount point /mnt/c)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
プロジェクトのダウンロード、変更、テスト、ホスティングプロバイダー(この場合はGitHub)へのプッシュがGitの全体的なポイントであることはわかっていますが、ディレクトリを変更するだけの場合は、直接的な操作が必要です。 Gitでも可能ですか?
多分別のプログラムを使うべきですか?
致命的なエラーメッセージは、gitリポジトリのクローンではない場所から作業していることを示しています。では、まずgitリポジトリのクローンを作成してみましょう。
git clone https://github.com/benqzq/ulcwe.git
次にそれを入力してください:
cd ulcwe
ディレクトリの名前を変更します。
git mv local xyz
変更を共有可能にするには、それをコミットする必要があります。
git commit -m "Rename local to xyz"
これで、リモートgitリポジトリにプッシュできます。
git Push
gitHubインターフェースの変更が表示されます。
いいえ、gitが構造化されているため、これを直接操作として実行する方法はありません。
Gitが機能する方法は、すべての履歴を含むリポジトリ全体のコピーをすべての場所に保存することです。
Github、Bitbucket、またはその他のホスティングプロバイダーは、本質的にはgitリポジトリの別のコピーであり、かなりのWebインターフェイスが上にあり、ほとんどのワークフローで真の中心的なソースとして扱われますが、gitユーティリティはこれを知りません。
変更はコミットとして追跡されます。 direct operation
は、コミットを作成せずにフォルダの名前を変更する方法を意味していると思います。これは履歴を書き換えることで可能ですが、特にgit repoのコピーを持つ複数の人/マシンが存在する場合は不整合が生じる可能性があるため、お勧めしません。
Gitリポジトリ内のフォルダの名前を変更する最も簡単な方法は、ローカルでクローンすることです。
git clone [url]
cd [git-folder]
すでにリポジトリのローカルコピーがある場合は、それをプルして、リモートリポジトリの最新版であることを確認します。
git pull
ローカルで必要な変更を行います
git mv local xyz
Githubによってステージング領域に自動的に追加されます。次に、これらの変更をコミットしてプッシュする必要があります。
git commit -m 'Renamed local to xyz'
git Push
これにより、変更がローカルリポジトリにコミットされ、これらの変更がリポジトリのリモートコピー(この場合はGithub)にプッシュされます。
GitHub APIを使用すると、リポジトリを複製せずにディレクトリの名前を変更できます。私はどんな実装も知りません。