Czy w Git można pobrać tylko jeden plik?
Pracuję nad gałąź Git, która ma uszkodzone testy i chciałbym ściągnąć (scalić zmiany, a nie tylko nadpisać) te testy z innej gałęzi, w której są już naprawione.
I know I can do
git pull origin that_other_branch
Ale to spróbuje połączyć wiele innych plików, bo nie jestem jeszcze gotowy.
Czy jest mozliwe sciaganie i scalanie tylko podanego pliku (a nie wszystkiego) z tej innej gałęzi?
To nie jest duplikat git pull request za jeden plik ponieważ wszystkie odpowiedzi na to pytanie są takie, jak przywrócić lokalnie zmieniony plik do wersji repozytorium, bez zmiany żadnych gałęzi.
3 answers
Możesz pobrać, a następnie sprawdzić tylko jeden plik w ten sposób:
git fetch
git checkout -m <revision> <yourfilepath>
git add <yourfilepath>
git commit
Odnośnie polecenia git checkout
:
<revision>
- Nazwa gałęzi, czyli origin/master
<yourfilepath>
nie zawiera nazwy repozytorium (którą można uzyskać po kliknięciu przycisku copy path
na stronie Pliku na Githubie), tj. README.md
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-01 22:53:30
Oto nieco łatwiejsza metoda, którą wymyśliłem podczas badania tego:
git fetch {remote}
git checkout FETCH_HEAD -- {file}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-01 22:53:55
git checkout master -- myplugin.js
Master = nazwa gałęzi
Myplugin.js = nazwa pliku
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-26 14:34:36