Files
obsidian/gitea 첫 동기화 방법.md

76 lines
2.7 KiB
Markdown

Gitea는 GitHub와 사용법이 거의 흡사하지만, 처음 로컬 저장소와 연결할 때 **"내 컴퓨터에 코드가 있느냐, 없느냐"**에 따라 방법이 달라집니다.
가장 많이 쓰이는 두 가지 시나리오로 정리해 드릴게요.
---
## 시나리오 1: 내 컴퓨터에 이미 코드가 있는 경우
로컬에서 작업하던 프로젝트를 Gitea 서버에 처음으로 올릴 때 사용합니다.
1. **Gitea에서 저장소 생성**: 오른쪽 상단 `+` 버튼을 눌러 **새 저장소**를 만듭니다. (README 파일 생성 체크박스는 해제하는 것이 깔끔합니다.)
2. **로컬 폴더에서 터미널 접속**:
```bash
git init
git add .
git commit -m "first commit"
```
3. **Gitea 주소 연결**: Gitea에서 생성된 저장소 URL(HTTP 또는 SSH)을 복사한 뒤 입력합니다.
```bash
git remote add origin http://gitea.example.com/유저명/저장소명.git
```
4. **동기화(Push)**:
```bash
git push -u origin master (또는 main)
```
> **Tip:** `-u` 옵션을 붙이면 다음부터는 `git push`만 입력해도 자동으로 이 주소로 올라갑니다.
---
## 시나리오 2: 서버에 있는 저장소를 내 컴퓨터로 가져올 때
팀원이 만든 프로젝트나, Gitea에서 미리 생성한 프로젝트를 처음 내려받을 때 사용합니다.
1. **URL 복사**: Gitea 저장소 메인 페이지에서 주소를 복사합니다.
2. **복제(Clone)**:
```bash
git clone http://gitea.example.com/유저명/저장소명.git
```
3. **확인**: 폴더 안으로 이동하면 이미 Git 설정이 완료되어 있습니다. 바로 작업 후 `add`, `commit`, `push` 하시면 됩니다.
---
## ⚠️ 첫 동기화 시 자주 발생하는 문제 (Troubleshooting)
### 1. 인증 실패 (ID/PW 요구)
Gitea에 로그인할 때 사용하는 **아이디와 비밀번호**를 입력해야 합니다. 만약 2단계 인증(2FA)을 사용 중이라면 비밀번호 대신 **'액세스 토큰'**을 생성해서 입력해야 할 수도 있습니다.
### 2. "rejected ... non-fast-forward" 에러
Gitea에서 저장소를 만들 때 README나 라이선스 파일을 미리 만들었다면 발생합니다. 서버와 내 로컬의 역사가 다르기 때문입니다.
* **해결책**: `git pull origin master --allow-unrelated-histories` 명령어로 강제 병합 후 다시 push 하세요.
### 3. SSH 연결 문제
HTTP 대신 SSH 주소를 쓴다면, 내 컴퓨터의 `id_rsa.pub` 키가 Gitea 설정의 **[설정] -> [SSH/GPG 키]**에 등록되어 있어야 합니다.
---
**다음 단계로 무엇을 도와드릴까요?**
혹시 **Gitea에서 SSH 키를 등록하는 방법**이 궁금하신가요, 아니면 **VS Code와 Gitea를 직접 연결하는 방법**을 알려드릴까요?