웹마스터 팁
압축 풀어 설치했던 XE를 git으로 변환하기
2015.02.25 12:47
XE를 git으로 설치하면 업데이트가 편리합니다.
새 버전 나올 때마다 변경파일 받아서 일일이 복사해 넣지 않아도
git pull 명령 하나면 자동으로 변경내역이 반영되고,
심지어 코어를 수정한 상태에서 업데이트해도
내가 수정한 부분은 그대로 남죠.
한마디로 새로운 세상이 열립니다 ^^
그러나 처음에 XE를 설치할 때 zip 또는 tar.gz 압축을 풀어서 설치했다면
git 작동에 필요한 정보가 포함되어 있지 않아서
매번 변경파일을 일일이 복사해 넣어주어야만 합니다.
그렇다고 git으로 새로 설치하자니 막막하고요...
그래서 오늘은 압축 풀어 설치했던 XE를 git으로 변환하는 방법을 소개해 드리겠습니다.
리눅스 콘솔 기준이며, 윈도우에서도 git이 설치되어 있다면 비슷한 방법을 사용할 수 있습니다.
[주의]
XE가 github으로 이전한 1.7.3.6 이후 버전에서만 git 변환이 가능합니다.
예전에 Google Code에서 svn을 사용하던 시절 버전은 안됩니다.
1.7.3.6 미만 버전을 사용하신다면 우선 변경파일을 사용해서 1.7.3.6까지 업데이트하신 후에
아래의 방법을 사용하시기 바랍니다.
[경고]
작업 전 백업은 필수입니다. 실수로 다 날려먹어도 책임 못져요.
우선 현재 운영중인 홈페이지와 전혀 무관한 별도의 폴더에 git으로 XE를 설치합니다.
git clone https://github.com/xpressengine/xe-core.git
이렇게 하면 xe-core라는 폴더에 XE가 설치됩니다. 이 폴더로 이동합니다.
cd xe-core
여기 설치되는 XE는 당연히 최신 버전입니다. 실제 사용중인 버전과 맞춰 줘야겠죠?
이 예제에서는 1.7.5.7로 맞춰 보겠습니다.
git reset --hard 1.7.5.7
리눅스 서버에서는 git이 기억하는 퍼미션과 실제 퍼미션이 다른 경우가 종종 있습니다.
이것 때문에 나중에 변경내역을 조회할 때 엉뚱한 파일이 변경된 것으로 나오기도 하므로,
변경내역 조회시 퍼미션은 무시하도록 설정해 줍니다.
git config core.fileMode false
이제 git은 준비가 다 되었습니다.
자, 이제 이렇게 git으로 설치한 폴더에서 아래의 파일 및 서브폴더들을 선택하여
기존에 운영하던 홈페이지 경로로 복사해 줍니다.
.git/
.gitattributes
.gitignore
.travis.yml
Gruntfile.js
package.json
phpDoc/
tests/
tools/
마지막에 슬래시(/)를 붙인 것은 폴더입니다.
버전에 따라 위의 파일과 폴더들 중 일부가 없을 수도 있습니다. 없으면 건너뛰세요.
단, 어떤 경우에도 .git 폴더는 반드시 있어야 합니다. (용량 70MB 내외)
그 밖의 파일과 폴더들은 사실 없어도 되지만, 없으면 나중에 변경내역 조회시
불필요한 내용이 많이 출력되기 때문에 넣어주는 것이 편합니다.
만약 기존에 운영하던 홈페이지에 phpDoc, tests, tools 등의 폴더가 이미 있다면 건너뛰어도 됩니다.
복사를 마쳤으면 기존에 운영하던 홈페이지 경로로 가봅시다.
cd /님/웹사이트/경로
여기에 git이 제대로 적용되었는지 확인해 봅시다.
git status
정상적인 상태라면 님이 수정한 파일 목록만 나옵니다.
(board 모듈을 별도로 설치하던 시절의 버전이라면 board 폴더도 나올 수 있습니다.)
축하합니다! 이제부터는 git pull 명령을 사용해서 XE를 업데이트할 수 있습니다!
단, 님이 수정한 부분이 애매하다면 git pull 명령 실행시 conflict(충돌)이 발생해서 업데이트에 실패할 수도 있습니다.
이 경우에는 에러가 나는 파일을 직접 수정한 후 업데이트를 완료해 주어야 합니다.
대체로 그냥 git pull 하는 것보다는 git stash 명령을 사용해서 수정된 부분을 별도로 저장한 후 업데이트하고,
업데이트한 후 git stash apply 명령으로 아까 별도로 저장한 수정분을 다시 덮어씌우는 것이 편하더군요.
- [2014/03/20] 포럼 Github HowTo - 3. 웹 상에서 Pull Request *3
- [2013/11/04] Blog XE 진행 상황 공유 & Github로의 저장소 이전 알림 *10
- [2013/10/27] 포럼 GIT(HUB)를 사용하시는 분들께 여쭈어 봅니다.
- [2013/02/23] 포럼 Github을 기반으로 한 배포는 어떨까요? *7
댓글 6
-
세상의모든계산기
2015.10.26 08:19
-
이온디
2017.02.25 10:37
git reset --hard 1.7.5.7
이 부분이 중요하군요 ㅎ
FTP로 설치된 서버의 버전과 동일하게 맞춰주기!
-
이온디
2017.03.05 22:18
root@150-95-129-155:/home/eond/www# git pull
Updating a92a641..c12f4fc
error: Your local changes to the following files would be overwritten by merge:
.htaccess
Please, commit your changes or stash them before you can merge.
Aborting
root@150-95-129-155:/home/eond/www# git stash*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"to set your account's default identity.
Omit --global to set the identity only in this repository.fatal: unable to auto-detect email address (got 'root@150-95-129-155.(none)')
Cannot save the current index state
root@150-95-129-155:/home/eond/www# git config --global user.name "eond"
root@150-95-129-155:/home/eond/www# git config --global user.email "eond@eond.com"
root@150-95-129-155:/home/eond/www# git stash
Saved working directory and index state WIP on master: a92a641 Merge branch 'release/1.8.21'
HEAD is now at a92a641 Merge branch 'release/1.8.21'================================================================
# git pull 하니,
저는 저렇게 나오더군요. -_-;
저렇게 하나씩 해주고 나서 다시 git pull 해서 성공했습니다;
-
이온디
2017.03.06 09:05
XE에서 라이믹스로 업데이트하려니, 몇몇 부분 업데이트 안된 게 있네요.
그래서
# git add -A
# git stash
# git pull참조 : http://vezi95.blogspot.kr/2016/05/git-pull.html
-
이온디
2017.03.06 09:14
먼저 사용하던 레이아웃, 스킨들이 다 날라갔네요;ㅁ;
백업 꼭 하고 하세요;;;
-
이온디
2017.03.17 18:24
빨간색으로 리스트가 죽 뜨고..
no changes added to commit (use "git add" and/or "git commit -a")
이럴 땐 어떻게 해야할까요
1) # git add * -f
이렇게 하니 빨간색이 초록색으로 리스트가 변했습니다;
제목 | 글쓴이 | 날짜 |
---|---|---|
OpenSSL 웹에 직접 구축하기 [2] | 워리도꾸 | 2016.02.16 |
스케치북 갤러리 제목에 카테고리 추가하기. [1] | 보보2 | 2017.07.17 |
XE 공식(?) 버튼 삽입하기 [다들 알지도 모르겠네요,,] [77] [1] | 웹엔진 | 2011.02.28 |
글등록시 포인트차감으로 등록불가 설정시 개별설정이 아닌 전체 설정 기준으로만 사용할 경우는 적용 안 되는 버그 수정법 | sejin7940 | 2017.08.23 |
폰갭 자기 전화번호 추출 | 한꼬마 | 2017.08.14 |
폰갭 버전 업데이트 후 push 안되시는 분들께.. | 한꼬마 | 2017.08.09 |
포인트 적립 횟수 일별 제한하기 (게시글 및 댓글 작성시) | Redback | 2017.06.18 |
다음 우편번호 5자리 적용 [1] | 뒤늦게입문 | 2017.03.15 |
HTML, CSS 등 코드를 깔끔하게 정렬 [6] | 참치.k | 2013.01.11 |
SASS? CSS확장판 | 키큰아이 | 2017.05.09 |
사용자정의에서 URL형, email형, textarea 형등에서도 기본값 인식하게 하려면 | sejin7940 | 2017.04.25 |
비밀글에 대해서도 썸네일이미지는 출력되도록 하고 싶으면 | sejin7940 | 2017.04.12 |
제로보드 사용시 아이프레임의 크기를 내용에 따라 바꿔주는 스크립트 [7] | 쿨리안 | 2003.06.28 |
게시글 확장변수 순으로 정렬하기 (2010.01.18 13:18 수정) [24] | June Oh | 2010.01.11 |
인기글 [1] | kdp | 2015.05.07 |
[주옥시리즈]최신글,인기글 위젯에 댓글수 표기하기 [1] | socialskyo | 2013.10.01 |
.htaccess 파일 관련 팁(웹 사이트 퍼포먼스 향상 및 트래픽 절감 효과) [21] | 서시빈목 | 2013.10.22 |
압축 풀어 설치했던 XE를 git으로 변환하기 [6] | 기진곰 | 2015.02.25 |
반응형 기본 개념 | Ansi™ | 2017.02.27 |
[도로명주소 krzip] 1.7.4 이전 버전들에 이용하기 [3] | XE플스 | 2014.02.06 |
완전 강추!