回答:
(デプロイされたリポジトリで)次のことが可能です。
git fetch
// git fetch will download all the recent changes, but it will not put it in your current checked out code (working area).
に続く:
git checkout origin/master -- path/to/file
// git checkout <local repo name (default is origin)>/<branch name> -- path/to/file will checkout the particular file from the downloaded changes (origin/master).
<revision>
ですか?ファイル名?そして、私のファイルがルートディレクトリにある場合、次のように入力する必要がありますgit checkout -m index.php index.php
。
*origin*/master
リモートである必要はありませんか、それともリモートからでも可能ですか?履歴全体が私のリポジトリに取り込まれますか、それともファイルが魔法のように表示されますか?
これは解決策になる可能性があります:
git fetch
git checkout origin/master -- FolderPathName/fileName
ありがとう。
このシナリオは、ローカルリポジトリのファイルを破損した場合、または最新のファイルの最新バージョンのコピーをリポジトリから復元したい場合に発生します。/ bin / rm(git rmではない)でファイルを削除するか、ファイルの名前を変更/非表示にしてからa git pull
を発行しても機能しません:gitはファイルが存在しないことを認識し、おそらくリポジトリgit diff
から削除することを想定しています(から削除されたすべての行が表示されます)ファイルがありません)。
git pull
ローカルで欠落しているファイルを復元しないと、おそらく他のバージョン管理システムの影響を受けているため(たとえば、ローカルで非表示になっているファイルを復元すると思われるsvn updateなど)、gitについて常にイライラしています。
git reset --hard HEAD
コミットされていない変更を破棄するため、対象のファイルを復元する別の方法です。ただし、ここで説明しているように、他にコミットされていない変更が必要な場合、git resetは潜在的に危険なコマンドです。
git fetch ... git checkout
@chrismillahによって上述の戦略は、問題のファイルを復元する素敵な外科的な方法です。
私は少し異なるタスクを探していましたが、これはあなたが望むもののように見えます:
git archive --remote=$REPO_URL HEAD:$DIR_NAME -- $FILE_NAME |
tar xO > /where/you/want/to/have.it
私が意味する、あなたが取得したい場合はpath/to/file.xz
、あなたが設定されますDIR_NAME
までpath/to
とFILE_NAME
しますfile.xz
。だから、あなたは次のようなものになるでしょう
git archive --remote=$REPO_URL HEAD:path/to -- file.xz |
tar xO > /where/you/want/to/have.it
そしてtar xO
もちろん、他の形での開梱を妨げる人はいません(ここにパイプが必要なのは私です)。
使ってみてください:
git checkout branchName -- fileName
例:
git checkout master -- index.php
https://raw.githubusercontent.com/[USER-NAME]/[REPOSITORY-NAME]/[BRANCH-NAME]/[FILE-PATH]
例 https://raw.githubusercontent.com/vipinbihari/apana-result/master/index.php
これにより、個々のファイルの内容を行テキストとして取得します。そのテキストはwgetでダウンロードできます。
例 https://raw.githubusercontent.com/vipinbihari/apana-result/master/index.php
このWindowsバッチは、GitHubにあるかどうかに関係なく機能します。それはいくつかの厳しい警告を示しているので私はそれを使用しています。動作が遅く、数百メガバイトのデータをトラバースすることに気づくでしょう。要件が利用可能な帯域幅/ RWメモリに基づいている場合は、この方法を使用しないでください。
sparse_checkout.bat
pushd "%~dp0"
if not exist .\ms-server-essentials-docs mkdir .\ms-server-essentials-docs
pushd .\ms-server-essentials-docs
git init
git remote add origin -f https://github.com/MicrosoftDocs/windowsserverdocs.git
git config core.sparseCheckout true
(echo EssentialsDocs)>>.git\info\sparse-checkout
git pull origin master
=>
C:\ Users \ user name \ Desktop> sparse_checkout.bat
C:\ Users \ user name \ Desktop> pushd "C:\ Users \ user name \ Desktop \"
C:\ Users \ user name \ Desktop>存在しない場合。\ ms-server-essentials-docs mkdir。\ ms-server-essentials-docs
C:\ Users \ user name \ Desktop> pushd。\ ms-server-essentials-docs
C:\ Users \ user name \ Desktop \ ms-server-essentials-docs> git init C:/ Users / user name / Desktop / ms-server-essentials-docs / .git /の初期化された空のGitリポジトリ
C:\ Users \ user name \ Desktop \ ms-server-essentials-docs> git remote add origin -f https://github.com/MicrosoftDocs/windowsserverdocs.git Origin Remoteの更新:オブジェクトの列挙:97、完了。リモート:オブジェクトのカウント:100%(97/97)、完了。リモート:オブジェクトの圧縮:100%(44/44)、完了。リモート:合計145517(デルタ63)、再利用76(デルタ53)、パック再利用145420受信オブジェクト:100%(145517/145517)、751.33 MiB | 32.06 MiB /秒、完了。デルタの解決:100%(102110/102110)、完了。 https://github.com/MicrosoftDocs/windowsserverdocs * [新しいブランチ]
>起源/ 1106-紛争* [新しいブランチ] - 1106 -紛争
FromPrivateRepo - >起源/ FromPrivateRepo * [新しいブランチ]
PR183 - >起源/ PR183 * 【新支店】
conflictfix-> origin / conflictfix * [新しいブランチ] shortpatti-patch-6-> origin / shortpatti-patch-6 * [新しいブランチ]
eross-msft-patch-1-> origin / eross-msft-patch-1 * [新しいブランチ]
マスター-> origin / master * [新しいブランチ] patch-1-
> origin / patch-1 * [新しいブランチ] repo_sync_working_branch -> origin / repo_sync_working_branch * [新しいブランチ]
shortpatti-patch-1-> origin / shortpatti-patch-1 * [新しいブランチ]
shortpatti-patch-2-> origin / shortpatti-patch-2 * [新しいブランチ]
shortpatti- patch-3-> origin / shortpatti-patch-3 * [新しいブランチ]
shortpatti-patch-4-> origin / shortpatti-patch-4 * [新しいブランチ]
shortpatti-patch-5-> origin / shortpatti-patch-5 * [新しいブランチ]
shortpatti-patch-7-> origin / shortpatti-patch-7 * [新しいブランチ]
shortpatti-patch-8-> origin / shortpatti-patch-8C:\ Users \ user name \ Desktop \ ms-server-essentials-docs> git config core.sparseCheckout true
C:\ Users \ user name \ Desktop \ ms-server-essentials-docs>(echo EssentialsDocs)1 >>。git \ info \ sparse-checkout
C:\ Users \ user name \ Desktop \ ms-server-essentials-docs> git pull origin master
From https://github.com/MicrosoftDocs/windowsserverdocs
* branch master-> FETCH_HEAD