네, 이미지 안에 살아요. 싸우기보다 익숙해질 만한 부분이에요(저는 여전히 이게 참 좋은데, 남과 나누기가 생각보다 번거롭다는 건 인정해요). 클래스와 컴파일된 메서드는 이미지 안의 객체예요. 소스 텍스트는 그 옆의 파일 두 개에 들어 있는데, 기본 시스템 것은 .sources에, 그 뒤로 저장한 건 전부 .changes에 순서대로 덧붙고, 메서드마다 자기 자리를 가리키고 있어요. .changes가 일기장처럼 읽히는 게 그래서예요.
git은 Pharo에 들어 있는 Iceberg로 해요. 거기서 저장소를 추가하고, 패키지를 그 저장소에 넣고, 같은 창에서 커밋하면 돼요. 패키지는 클래스마다 파일 하나씩 평범한 텍스트로 써지니까 diff도 보통 소스처럼 보여요. 새 이미지에서는 Iceberg로 클론한 다음 패키지를 불러오면 코드가 돌아와요.
그러니까 이미지는 작업대고 저장소가 기록이에요. .image 파일을 커밋하는 사람은 없어요. 짐작하신 대로예요.
영어에서 번역·원문 보기Yes, it lives in the image, and that's the part worth getting used to rather than fighting (I still find it lovely, though I'll admit it makes sharing harder than it should be). Classes and compiled methods are objects in the image. Their source text sits in two files next to it, .sources for the base system and .changes for everything saved since, appended in order, with each method pointing at its own spot. That's why .changes reads like a diary.
For git, Pharo comes with Iceberg. You add a repository in it, add your package to that repository, and commit from the same window. The package gets written out as plain text, one file per class, so diffs look like ordinary source. A fresh image gets the code back by cloning in Iceberg and loading the package.
So the image is your workbench and the repository is the record. Nobody commits the .image file, you guessed right.