私はいくつかの壊れたテストを含むGitブランチで作業しています、そしてそれらが既に修正されている別のブランチからこれらのテストを引っ張りたい(変更をマージするだけでなく上書きしたい)のです。
私はできることを知っています
git pull Origin that_other_branch
しかし、これは他の多くのファイルをマージしようとします、それで私はまだ準備ができていません。
それはその別のブランチから指定されたファイルだけを引っ張ってマージすることは可能ですか。
これは1つのファイルに対するGit pull requestの複製ではありません。なぜなら、その質問に対するすべての答えはローカルで元に戻す方法だからです。ブランチを変更せずに、ファイルをリポジトリバージョンに変更しました。
このようにして、ファイルを1つだけ取り出してチェックアウトすることができます。
git fetch
git checkout -m <revision> <yourfilepath>
git add <yourfilepath>
git commit
git checkout
コマンドに関して<revision>
- ブランチ名、すなわちOrigin/master
<yourfilepath>
はリポジトリ名を含みません(GitHub上のファイルページのcopy path
ボタンをクリックすることによって得られる)、すなわちREADME.md
これを調べるときに思いついた、もう少し簡単な方法があります。
git fetch {remote}
git checkout FETCH_HEAD -- {file}
git checkout master -- myplugin.js
マスター=ブランチ名
myplugin.js =ファイル名
@ Mawardyの答えは私のために働きました、しかし私の変更はリモートでありました、それで私は起源を指定しなければなりませんでした
git checkout Origin/master -- {filename}
はい、ここにプロセスがあります:
# Navigate to a directory and initiate a local repository
git init
# Add remote repository to be tracked for changes:
git remote add Origin https://github.com/username/repository_name.git
# Track all changes made on above remote repository
# This will show files on remote repository not available on local repository
git fetch
# Add file present in staging area for checkout
git check Origin/master -m /path/to/file
# NOTE: /path/to/file is a relative path from repository_name
git add /path/to/file
# Verify track of file(s) being committed to local repository
git status
# Commit to local repository
git commit -m "commit message"
# You may perform a final check of the staging area again with git status