Git Копировать файлы на сервер - PullRequest
0 голосов
/ 04 января 2019

В git у меня есть удаленная установка bitbucket, а в локальной - новая папка с файлами. Как я могу вытащить все файлы с пульта на свой локальный компьютер, не удаляя файлы, которых нет на пульте

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Сценарий 1: Это неотслеживаемый файлВы можете просто pull.Ни один из ваших неотслеживаемых файлов не будет заменен

Git - система контроля версий.Он отслеживает файлы, которые вы просили его отслеживать.Поэтому, если вы не установили файл для отслеживания git, он не будет заменен, даже если вы git pull с удаленного компьютера.

Вот сценарий демонстрационного bash, который фактически воссоздает ваш сценарий.

#!/bin/bash

#from your home (~/) directory 
mkdir temp && cd temp

#Init a git bare repo (this is your remote)
git init --bare remote.git

#create local working tree 1 (this is user 1)
mkdir local_1 && cd local_1
git init
git remote add origin ~/temp/remote.git
touch file1
git add file1
git commit -m "first commit"
git push --set-upstream origin master
cd ..

# create local working tree 2 (this is user 2)
git clone remote.git
mv remote local_2 && cd local_2
touch file2

#make a new commit in local_1 and push it
cd ../local_1
touch file3
git add file3
git commit -m "second commit"
git push

#come back to local_2
cd ../local_2
#Pull and update your branch
git pull
#let's see if you still have file2 in your working tree.
ls file2
#yes you do!

После выполнения этого вы можете обнаружить, что file2 все еще существует в вашем каталоге local_2.

Сценарий 2 : Это отслеживаемый файл.Вытягивание приведет к конфликту, если файлы изменились.Так что вам просто нужно сделать работу, чтобы объединить их.

0 голосов
/ 04 января 2019

Я почти никогда не использую git pull и вместо этого всегда использую git fetch <remote> (например, git fetch origin).Это выбирает файлы с вашего пульта без изменения ваших локальных рабочих файлов.Затем вы можете провести дальнейшую проверку, выполнив что-то вроде:

git log --decorate --oneline --graph -20

У меня фактически есть псевдоним git tree - вы можете настроить псевдоним с помощью:

git config alias.tree llog --decorate --oneline --graph -20'

Как только вы получитефайлы, использующие git fetch <remote>, вы сможете просмотреть их, используя предоставленный мною псевдоним git tree или проверив удаленную ветвь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...