https://rhymix.org/manual/introduction/update 에서 가져옴(CC BY-SA 4.0) |
내용울 좀 더 쉽게 개선 |
||
1번째 줄: | 1번째 줄: | ||
== | == 개요 == | ||
[[라이믹스]]는 계속해서 새로운 기능이 추가되고, 버그 수정과 보안 패치가 수시로 이루어집니다. | |||
따라서 라이믹스를 사용해 운영하는 사이트는 정기적으로 업데이트해야 안전하고 최신 기능을 유지할 수 있습니다. | |||
업데이트 방법은 크게 두 가지입니다. | |||
# 새 버전으로 덮어씌우기 (초보자 추천) | |||
# Git을 이용한 업데이트 (버전 관리 시 추천) | |||
== 새 버전으로 덮어씌우기 == | |||
이 방법은 가장 간단하며, 라이믹스 설치 절차와 동일합니다. | |||
# [https://github.com/rhymix/rhymix/releases 라이믹스 공식 릴리스 페이지]에서 최신 ZIP 파일을 다운로드합니다. | |||
# 서버의 기존 라이믹스 설치 위치에 압축을 풀거나 덮어씌웁니다. | |||
<syntaxhighlight lang="bash"> | |||
wget https://github.com/rhymix/rhymix/archive/master.zip | |||
unzip master.zip -d /path/to/your/site | |||
</syntaxhighlight> | |||
<code>files</code> 폴더와 DB에는 사용자 설정 및 첨부파일이 저장되므로, 덮어씌워도 데이터 손실 없이 안전합니다. | |||
단, 코어 파일을 직접 수정한 경우 모든 변경 내역이 사라질 수 있습니다. | |||
{{경고박스|코어 파일을 수정해서 사용 중이라면 이 방법을 쓰면 수정 내용이 전부 초기화됩니다.}} | |||
→ 코어를 수정한 상태에서 업데이트하려면 아래의 Git 방법을 사용하세요. | |||
== Git으로 업데이트하기 == | |||
Git으로 설치한 경우, 명령어 몇 개만으로 손쉽게 최신 상태로 유지할 수 있습니다. | |||
=== 소스 수정이 없는 경우 === | |||
<code>git status</code> 명령을 실행했을 때 "modified", "deleted" 메시지가 없으면 코어 소스에 수정 사항이 없는 상태입니다. | |||
(추가한 모듈·스킨 등은 "Untracked files"에 표시되지만, 이는 문제가 되지 않습니다.) | |||
이 상태라면 다음 한 줄로 업데이트가 완료됩니다. | |||
<code>git status</code> 명령을 | |||
(추가한 | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
30번째 줄: | 35번째 줄: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
설명: | |||
* <code>git pull</code>은 원격 저장소의 최신 커밋을 로컬에 가져와 자동으로 병합합니다. | |||
* 브랜치를 변경했다면, 해당 브랜치에서도 다시 <code>git pull</code>을 실행해야 합니다. | |||
[https://git-scm.com/docs/git-pull Git 공식 문서: git-pull] | |||
<code>git | |||
=== 소스 수정이 있는 경우 (간단한 수정) === | |||
코어 파일을 일부 수정해 두었다면, 업데이트 시 충돌(conflict)이 발생할 수 있습니다. | |||
작은 수정만 있을 때는 <code>git stash</code>로 임시 보관했다가 업데이트 후 다시 꺼내는 방법이 편리합니다. | |||
==== 단계별 가이드 ==== | |||
# 변경 사항을 임시 저장합니다: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git stash | git stash | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<ol start="2"> | |||
<li>이때 <code>git status</code>를 실행하면 "clean" 상태가 됩니다.</li> | |||
<li>이제 원격 저장소에서 변경 사항을 가져옵니다:</li> | |||
</ol> | |||
<syntaxhighlight lang="bash | <syntaxhighlight lang="bash> | ||
git pull | git pull | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<ol start="4"> | |||
업데이트가 | <li>업데이트가 완료되면, 숨겨둔 변경 사항을 다시 적용합니다:</li> | ||
</ol> | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git stash apply | git stash apply | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<ol start="5"> | |||
<li>충돌이 없으면 이걸로 끝납니다.</li> | |||
</ol> | |||
{{경고박스|동일한 파일의 동일한 부분을 수정했다면 <code>git stash apply</code> 단계에서 충돌이 발생합니다. 충돌 표시(<nowiki><<<<<<<, =======, >>>>>>></nowiki>)를 찾아 직접 수정한 뒤 저장하세요.}} | |||
<ol start="6"> | |||
<li>작업이 모두 완료되면, 더 이상 필요 없는 임시 저장 데이터를 삭제합니다:</li> | |||
</ol> | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git stash clear | git stash clear | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[https://git-scm.com/docs/git-stash Git 공식 문서: git-stash] | |||
=== 소스 수정이 있는 경우 (대규모 수정) === | |||
수정 분량이 많거나 여러 차례 커밋하며 작업했다면, 별도 브랜치에서 관리하는 편이 안전합니다. | |||
==== 단계별 가이드 ==== | |||
# 새 브랜치를 만듭니다 (브랜치명은 사이트 이름 등으로 구분): | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git checkout -b mybranch | git checkout -b mybranch | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<ol start="2"> | |||
<li>현재 변경 내역을 모두 커밋합니다:</li> | |||
</ol> | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git add -u . | git add -u . | ||
git commit -m " | git commit -m "사이트 커스터마이징 커밋" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<ol start="3"> | |||
<li>공식 저장소의 master(또는 develop) 브랜치를 로컬로 가져옵니다:</li> | |||
</ol> | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git fetch origin master:master | git fetch origin master:master | ||
git fetch origin develop:develop | git fetch origin develop:develop | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<ol start="4"> | |||
<li>작업 브랜치에서 master를 병합합니다:</li> | |||
</ol> | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git merge master | git merge master | ||
</syntaxhighlight> | |||
<ol start="5"> | |||
<li>충돌이 없다면 완료. 충돌이 발생하면 표시된 파일을 열어 수정하고, 아래를 실행하세요:</li> | |||
</ol> | |||
<syntaxhighlight lang="bash"> | |||
git add -u . | |||
git commit -m "충돌 해결 및 업데이트 반영" | |||
</syntaxhighlight> | </syntaxhighlight> | ||
{{정보박스|이 워크플로우는 대규모 커스터마이징 상태에서도 안전하게 업데이트와 충돌 관리를 할 수 있는 정석 방법입니다.}} | |||
== 관련 문서 == | |||
* [[Git#stash]] – stash 사용법 | |||
* [[Git#merge]] – merge 전략 | |||
* [https://git-scm.com/docs Git 공식 문서 전체] | |||
< | <!-- 분류 --> | ||
[[분류:라이믹스]] [[분류:라이믹스/매뉴얼]] | |||
2025년 6월 23일 (월) 16:32 기준 최신판
개요[편집 / 원본 편집]
라이믹스는 계속해서 새로운 기능이 추가되고, 버그 수정과 보안 패치가 수시로 이루어집니다. 따라서 라이믹스를 사용해 운영하는 사이트는 정기적으로 업데이트해야 안전하고 최신 기능을 유지할 수 있습니다.
업데이트 방법은 크게 두 가지입니다.
- 새 버전으로 덮어씌우기 (초보자 추천)
- Git을 이용한 업데이트 (버전 관리 시 추천)
새 버전으로 덮어씌우기[편집 / 원본 편집]
이 방법은 가장 간단하며, 라이믹스 설치 절차와 동일합니다.
- 라이믹스 공식 릴리스 페이지에서 최신 ZIP 파일을 다운로드합니다.
- 서버의 기존 라이믹스 설치 위치에 압축을 풀거나 덮어씌웁니다.
wget https://github.com/rhymix/rhymix/archive/master.zip
unzip master.zip -d /path/to/your/site
files
폴더와 DB에는 사용자 설정 및 첨부파일이 저장되므로, 덮어씌워도 데이터 손실 없이 안전합니다.
단, 코어 파일을 직접 수정한 경우 모든 변경 내역이 사라질 수 있습니다.
⚠ 경고: 코어 파일을 수정해서 사용 중이라면 이 방법을 쓰면 수정 내용이 전부 초기화됩니다.
→ 코어를 수정한 상태에서 업데이트하려면 아래의 Git 방법을 사용하세요.
Git으로 업데이트하기[편집 / 원본 편집]
Git으로 설치한 경우, 명령어 몇 개만으로 손쉽게 최신 상태로 유지할 수 있습니다.
소스 수정이 없는 경우[편집 / 원본 편집]
git status
명령을 실행했을 때 "modified", "deleted" 메시지가 없으면 코어 소스에 수정 사항이 없는 상태입니다.
(추가한 모듈·스킨 등은 "Untracked files"에 표시되지만, 이는 문제가 되지 않습니다.)
이 상태라면 다음 한 줄로 업데이트가 완료됩니다.
git pull
설명:
git pull
은 원격 저장소의 최신 커밋을 로컬에 가져와 자동으로 병합합니다.- 브랜치를 변경했다면, 해당 브랜치에서도 다시
git pull
을 실행해야 합니다.
소스 수정이 있는 경우 (간단한 수정)[편집 / 원본 편집]
코어 파일을 일부 수정해 두었다면, 업데이트 시 충돌(conflict)이 발생할 수 있습니다.
작은 수정만 있을 때는 git stash
로 임시 보관했다가 업데이트 후 다시 꺼내는 방법이 편리합니다.
단계별 가이드[편집 / 원본 편집]
- 변경 사항을 임시 저장합니다:
git stash
- 이때
git status
를 실행하면 "clean" 상태가 됩니다. - 이제 원격 저장소에서 변경 사항을 가져옵니다:
git pull
- 업데이트가 완료되면, 숨겨둔 변경 사항을 다시 적용합니다:
git stash apply
- 충돌이 없으면 이걸로 끝납니다.
⚠ 경고: 동일한 파일의 동일한 부분을 수정했다면 git stash apply
단계에서 충돌이 발생합니다. 충돌 표시(<<<<<<<, =======, >>>>>>>)를 찾아 직접 수정한 뒤 저장하세요.
- 작업이 모두 완료되면, 더 이상 필요 없는 임시 저장 데이터를 삭제합니다:
git stash clear
소스 수정이 있는 경우 (대규모 수정)[편집 / 원본 편집]
수정 분량이 많거나 여러 차례 커밋하며 작업했다면, 별도 브랜치에서 관리하는 편이 안전합니다.
단계별 가이드[편집 / 원본 편집]
- 새 브랜치를 만듭니다 (브랜치명은 사이트 이름 등으로 구분):
git checkout -b mybranch
- 현재 변경 내역을 모두 커밋합니다:
git add -u .
git commit -m "사이트 커스터마이징 커밋"
- 공식 저장소의 master(또는 develop) 브랜치를 로컬로 가져옵니다:
git fetch origin master:master
git fetch origin develop:develop
- 작업 브랜치에서 master를 병합합니다:
git merge master
- 충돌이 없다면 완료. 충돌이 발생하면 표시된 파일을 열어 수정하고, 아래를 실행하세요:
git add -u .
git commit -m "충돌 해결 및 업데이트 반영"
ℹ 정보: 이 워크플로우는 대규모 커스터마이징 상태에서도 안전하게 업데이트와 충돌 관리를 할 수 있는 정석 방법입니다.
관련 문서[편집 / 원본 편집]
- Git#stash – stash 사용법
- Git#merge – merge 전략
- Git 공식 문서 전체