git-checkout - Git branch 차이 - 다른 분기에서 하나의 파일 만 가져 오는 방법

Git diff branch file / git

나는 git을 사용하고 마스터 브랜치에서 일하고 있습니다. 이 분기에는 app.js 라는 파일이 있습니다 .

7ochem



Answer #1
git checkout master               # first get back to master
git checkout experiment -app.js # 그런 다음 app.js의 버전을 복사합니다.
                                  # from branch "experiment"
git switch master
git restore --source experiment -- app.js

기본적으로 작업 트리 만 복원됩니다.
인덱스도 업데이트하려면 (파일 내용을 복원하고 하나의 명령으로 인덱스에 추가) :

git restore --source experiment --staged --worktree -- app.js
# 짧게 :
git restore -s experiment -SW -- app.js

Jakub Narębski 가 주석에서 언급 했듯이 :

git show experiment:path/to/app.js > path/to/app.js
$ git show $REVISION:$FILENAME
$ git checkout $REVISION -- $FILENAME
[email protected]{yesterday}:app.js 어제 그대로 # app.js
experiment^:app.js            # 첫 번째 커밋 부모의 app.js
[email protected]{2}:app.js         # app.js 두 커밋 전

숨김에서이 ​​작업을 수행 할 수도 있습니다.

git checkout stash -- app.js