LINUX.ORG.RU

Копирование файлов из среды разработки в git репозиторий с игнорированием временных файлов.

 , , ,


0

1

Во время работы gambas создаёт множество временных файлов типа *.*~ , их естественно в репозиторий помещать не следует. Я написал скрипт копирования который игнорирует файлы указанных типов при копировании.

#!/bin/sh
cd Каталог_проекта/
find -type f -not \( -name *.form~ -or -name *.class~ -or -name *.module~ -or -name *.png~ -or -name *.pot~ -or -name *.jpg~ \) -print | xargs -n 1 -I % cp -Rfv --parents "%" ../Каталог_git_репозитория
cd ..

Конечно в конце можно написать и автоматическое отправление комитов, но я предпочитаю делать это вручную.

http://star-engineers.blogspot.ru/2014/01/git.html

https://gist.github.com/killofwin/8266883

можно в .gitignore добавить маску файлов, которые не надо коммитить

ii343hbka ★★★
()
Последнее исправление: ii343hbka (всего исправлений: 1)

ааа
я понял :)
ты с нами делишься им
все) дошло :)

ii343hbka ★★★
()

Бессмыслица какая-то. Ты что, каждый раз по-новой копируешь из какого-то каталога в рабочий git, а потом уже комиттишь?

Рабочий каталог git'a уже твой рабочий каталог. Надо просто не комиттить такие файлы и всё. А каждый новый добавленный файл добавлять ручками.

Или заюзай уже наконец git gui.

ziemin ★★
()
Ответ на: комментарий от ziemin

Рабочий каталог git'a уже твой рабочий каталог. Надо просто не комиттить такие файлы и всё. А каждый новый добавленный файл добавлять ручками.

Или заюзай уже наконец git gui.

Если бы я это хотел бы, я бы так и сделал. Но мне неохото вручную выбиратьк какие из файлов скопировать учитывая что в ./src лежат исходники, в ./lang файлы интернационализации, и к примеру у формы есть два файла *.form и *.class .

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от rezedent12

Засунь всю директорию с проектом в репозиторий. При этом временные и промежуточные файлы (типа объектных) пропиши в .gitignore.

E ★★★
()
Ответ на: комментарий от rezedent12

Что значит скопировать-то? Это твой рабочий каталог и в нём ты редактируешь файлы.

Иногда (когда прошёл некоторый этап) комиттишь. Если вдруг добавлял файлы, то добавляешь. Ну не по сто файлов за день же ты лепишь?

И выбирать тебе ничего не нужно. git сам разберётся, что отправлять, а что нет.

ziemin ★★
()

Зачем тебе гит при таком использовании? Просто делай бекапы с timestamp'ами.

theNamelessOne ★★★★★
()

Как страшно жить. А ведь даже в учебнике сказано как пользоваться git.

andreyu ★★★★★
()

Тут git-а нет!

Вот честно. Всю ветку прочитал. Что-то куда-то копируется. Ну, отлично. Но при чём тут git? Убери тэг «git» из сообщения, пожалуйста.

justAmoment ★★★★★
()
Последнее исправление: justAmoment (всего исправлений: 1)
Ответ на: комментарий от ziemin

Я пока не очень разбираюсь в том как git работает. Поэтому не доверяю рабочие исходники.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от mashina

специально придумываешь садомазохистические извращения на свою голову?

Намеряно, но я не знаю о том что они «садомазохистические» пока мне об этом не сообщают.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от aedeph_

А где же текст лицензии, readme, release_notes, информация по установке?

LICENSE файл в git. Релиза ещё не было, устанавливать пока нечего. Редактор ещё не доделан.

rezedent12 ☆☆☆
() автор топика
Ответ на: Тут git-а нет! от justAmoment

Ну да, это можно и не для git использовать.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от Stil

для чего ты думаешь gitignore предназначен?

А если я захочу сделать коммит не закрывая проект и git потрёт временные файлы gambas? В общем я то точно не знаю как gambas работает с временными файлами и как именно действует git. Решил обезопасить.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от rezedent12

Учись.

$ mkdir -p t1/t2/t3
$ touch t1/t2/t3/good.form~
$ touch t1/bad.form~
$ cd t1

$ find -type f -name *.form~
./bad.form~

$ find -type f -name '*.form~'
./t2/t3/good.form~
./bad.form~

Счет к оплате выслал.

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)
Ответ на: комментарий от sdio

Счет к оплате выслал.

Могу лишь сказать «спасибо» ибо я нищеброд.

А вообще, почему экранировать их надо не " , а ' ?

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от rezedent12

man bash

       Enclosing characters in single quotes preserves the  literal  value  of
       each character within the quotes.  A single quote may not occur between
       single quotes, even when preceded by a backslash.

       Enclosing characters in double quotes preserves the  literal  value  of
       all  characters  within the quotes, with the exception of $, `, \, and,
       when history expansion is enabled, !.  The characters $  and  `  retain
       their  special meaning within double quotes.  The backslash retains its
       special meaning only when followed by one of the following  characters:
       $,  `,  ", \, or <newline>.  A double quote may be quoted within double
       quotes by preceding it with a backslash.  If enabled, history expansion
       will  be  performed  unless an !  appearing in double quotes is escaped
       using a backslash.  The backslash preceding the !  is not removed.

       The special parameters * and @ have  special  meaning  when  in  double
       quotes (see PARAMETERS below).
sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)
Ответ на: комментарий от rezedent12

А если я захочу сделать коммит не закрывая проект и git потрёт временные файлы gambas?

мб,таки прочитать ман? или туториал какой? гитигнор ничего не удаляет, он, ВНЕЗАПНО, *игнорирует*.

В общем я то точно не знаю как gambas работает с временными файлами

что-то мне настойчиво подсказывает, что твой гамбас вообще не имеет отношения к этим файлам, а создаются они твоим редактором кода.

как именно действует git

дык, это, может немного изучить молоток, которым ты саморезы забиваешь?

Stil ★★★★★
()
Ответ на: комментарий от Stil

что-то мне настойчиво подсказывает, что твой гамбас вообще не имеет отношения к этим файлам, а создаются они твоим редактором кода.

Gambas IDE ?

дык, это, может немного изучить молоток, которым ты саморезы забиваешь?

Конечно изучу со временем, но пока толковых инструкций «совсем для идиотов и так что бы был понятна суть», я не находил.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от rezedent12

Тебе надо не гит изучать, а хотя бы системы контроля версий. Начни с википедии хотя бы.

ziemin ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.