이 문서를 통해 Git을 사용하여 Dreamweaver CC에서 파일과 소스 코드를 관리하는 방법에 대해 살펴보십시오.

Dreamweaver CC는 오픈 소스로 배포된 버전 제어 시스템인 Git을 지원하여 소스 코드를 포함하는 파일을 관리할 수 있습니다. Dreamweaver에서의 Git 통합 기능을 통해 장소에 상관없이 독립적으로 코딩 작업을 수행하고 나중에 중앙 Git 리포지토리에 변경 내용을 병합할 수 있습니다. Git은 파일에서의 모든 수정 내용을 추적하므로 언제든지 이전 버전으로 되돌릴 수 있습니다.

Git을 통해 브랜치를 간편하게 만들고 유지할 수 있으므로 팀 단위로 작업하는 경우에도 Git 리포지토리는 매우 유용합니다. 예를 들어 디자이너의 경우 다른 팀 멤버가 고객으로부터의 변경 요청에 대응하는 동안 사이트에 대한 디자인 변경 작업도 동시에 진행하기를 원한다면 Git을 사용하여 두 가지 작업을 독립적으로 수행할 수 있습니다. 이러한 경우 독립적으로 브랜치를 만들고 각각의 로컬 리포지토리에서 변경 내용을 적용할 수 있습니다. 로컬 리포지토리는 소스에 적용한 모든 변경 내용의 전체 내역을 포함합니다. 언제든지 작업을 멈추고 중앙 리포지토리에 변경 내용을 병합할 수 있습니다. 이러한 병합 과정을 통해 중앙 리포지토리는 양쪽에서의 변경 내용에 대해 항상 최신 코드를 유지하게 됩니다.

Dreamweaver에서 Git 사용을 시작하는 방법에 대한 아래의 설명을 읽어 보십시오.

Git 시작하기 (Dreamweaver)

처음으로 Git을 사용하는 경우에는 우선 Git 클라이언트를 다운로드하고 Git 계정을 만들어야 합니다. Dreamweaver 내에서 Git을 사용하려면 Git 클라이언트가 필요합니다.

이미 Git 계정을 보유하고 있다면 계정에 로그인합니다. 시스템에 Git 클라이언트가 다운로드되어 있어야 합니다. 

Dreamweaver에서 Git을 시작하려면 다음 단계를 따르십시오.

  1. 해당 운영 체제용 Git 클라이언트를 다운로드합니다.

  2. Git 클라이언트용 계정을 만듭니다.

    이미 Git 계정을 보유하고 있다면 로그인 자격 증명을 통해 Git 클라이언트에 로그인합니다.

기본 구성 설정으로 Git 클라이언트를 설치하는 것이 좋습니다. Dreamweaver가 실행 파일로의 경로를 자동으로 선택합니다.

이제 Dreamweaver를 실행하고 내 사이트를 Git 리포지토리에 연결할 수 있습니다.

Git 패널

Dreamweaver는 Git 패널(Windows > Git)을 통해 Git 작업을 지원합니다. Dreamweaver 사용자는 이 패널을 통해 커밋, 푸시, 풀, 가져오기 등 일반적인 Git 작업을 수행할 수 있습니다.

참고:

이 패널은 컴퓨터에 Git 클라이언트를 다운로드한 후에만 Dreamweaver에 표시됩니다.

Dreamweaver CC의 Git 패널
Dreamweaver의 Git 패널

A. 적용 B. 모든 원격을 가져오고 카운터를 새로 고칩니다 C. Git 풀 D. Git 푸시 E. 리포지토리 내역 표시 F. 파일 내역 표시 G. 태그 작성 H. 배시/터미널 콘솔 열기 I. 추가 액션 J. 검색 K. Diff L. 파일 되돌리기 

내 사이트를 Git과 연결

Dreamweaver에서 Git 사용을 시작하려면 우선 Dreamweaver 사이트를 Git 리포지토리와 연결해야 합니다. Git 리포지토리는 파일 변경 내용을 용이하게 추적하기 위해 만드는 폴더와 같습니다. 컴퓨터에 개수와 상관없이 Git 리포지토리를 만들 수 있습니다. 시스템에서의 각 리포지토리는 서로 독립적입니다. 즉, 하나의 Git 리포지토리에 저장된 변경 내용은 다른 리포지토리의 내용에 영향을 주지 않습니다.

리포지토리를 새로 만들거나 기존 리포지토리를 복제하여 웹 사이트를 리포지토리와 연결할 수 있습니다. 새 리포지토리를 초기화하거나 만들면 현재 작업 디렉터리에 비어 있는 Git 리포지토리가 생성되며 해당 폴더에 .gitignore 파일이 생성됩니다.

그러나 기존 Git 리포지토리를 복제하면 부모 리포지토리의 모든 파일이 로컬 시스템으로 복제됩니다.

이어지는 섹션에서 Git 리포지토리 초기화 또는 리포지토리 복제 방법을 살펴보십시오.

Git 리포지토리 초기화

Dreamweaver에서 Git을 사용하여 작업을 시작할 때 우선 리포지토리를 새로 만들어야 합니다. 사이트에 대한 Git 리포지토리를 초기화할 때 Dreamweaver 사이트와 연계된 파일을 추가할 수 있는 Git 리포지토리를 새로 만듭니다.

  1. Dreamweaver 사용자는 새로운 사이트로 시작하거나 기존 사이트로 Git 리포지토리에 연결할 수 있습니다. 두 경우 모두 다음 절차에 따라 Git 리포지토리를 초기화할 수 있습니다.

    • 새 Dreamweaver 사이트를 연결하려면 [사이트] > [새 사이트]를 클릭합니다.
    • 기존 Dreamweaver 사이트를 연결하려면 [사이트] > [사이트 관리]를 클릭합니다. 사이트 관리 대화 상자에서 Git 리포지토리에 연결하려는 사이트를 더블 클릭합니다.
  2. 사이트를 새로 제작하는 경우에는 해당 사이트의 이름을 지정합니다.

    사이트와 관련된 파일이 포함된 폴더가 있는 경우에는 로컬 사이트 폴더 필드에서 해당 폴더를 가리킵니다.

    새 Dreamweaver 사이트의 이름과 폴더 위치를 지정합니다.
    새 Dreamweaver 사이트의 이름과 폴더 위치를 지정합니다.

    새 사이트를 기존 Git 리포지토리와 연결하려면 로컬 사이트 폴더가 적절한 Git 리포지토리를 가리켜야 합니다.

  3. [Git 리포지토리를 이 사이트와 연결] 확인란을 선택합니다. 그런 다음 [Git 리포지토리로 초기화] 옵션을 선택합니다.

    Dreamweaver에서 Git 리포지토리 초기화
    새 Dreamweaver 사이트에 대한 Git 리포지토리 초기화
  4. [저장]을 클릭합니다.

    이제 로컬 폴더의 파일이 파일 패널(Git 보기 모드)에 표시됩니다. 이들 파일은 추적되지 않는 상태입니다. 즉, 이들 파일은 아직 Git 리포지토리에 커밋되지 않았다는 의미입니다.

    파일에 대한 작업을 계속 진행하고 이들 파일을 나중에 커밋하거나 Git 패널(Windows > Git)을 열고 이들 파일을 리포지토리에 커밋할 수 있습니다. Git에서 파일을 커밋하는 방법은 변경 내용 추적 및 커밋을 참조하십시오.

기존 리포지토리 복제

Github나 Bitbucket 또는 기타 일반적인 호스팅 서비스에서 호스팅되는 기존 Git 리포지토리로 이미 작업을 진행 중인 경우, 다음 절차에 따라 Dreamweaver 내에서 해당 리포지토리를 복제할 수 있습니다. 기존 리포지토리를 복제할 때 로컬 시스템의 대상 리포지토리 사본을 만들게 됩니다.

  1. [사이트] > [새 사이트]를 클릭합니다.

  2. 사이트 설정 대화 상자에서 [Git 리포지토리를 이 사이트와 연결] 확인란을 선택합니다. 그런 다음 [URL을 사용하여 기존 Git 리포지토리 복제]를 선택합니다.

  3. 복제하려는 리포지토리의 URL을 입력합니다.

    입력한 대상 리포지토리의 https URL은 유효해야 합니다. URL이 유효한지 테스트하려면 이 대화 상자의 테스트 버튼을 클릭하십시오. 잘못된 URL을 입력하면 복제하는 도중이나 Git 가져오기 또는 풀 등의 작업을 수행하는 동안 오류가 발생합니다.

    Dreamweaver 내에서 Git 리포지토리 복제
    Dreamweaver 내에서 Git 리포지토리 복제

    참고:

    암호문구가 포함된 SSH 키를 사용하여 URL을 복제하는 기능은 현재 Dreamweaver에서 지원되지 않습니다. 사용자 이름 및 암호 필드는 사용할 수 없습니다.

  4. 이전에 사용했던 자격 증명을 저장하려면 [자격 증명 저장] 확인란을 선택하십시오. 이 작업은 Git 푸시나 풀 등 원격 작업을 수행할 때마다 자격 증명을 입력해야 하는 수고를 덜어줍니다.

  5. [저장]을 클릭합니다.

    리포지토리를 복제하고 나면 원본 리포지토리의 로컬 사본이 생성됩니다. Dreamweaver 내에서 이들 로컬 파일을 조회하고 편집할 수 있습니다.

    복제한 원본 리포지토리의 스냅샷이 오른쪽 상단에 있는 Git 패널 > 원본에 표시됩니다.

    Git 패널의 원본 리포지토리 알림
    Git 패널의 원본 리포지토리 알림

버전 제어를 위해 Git 사용

Dreamweaver 사이트가 Git 리포지토리와 연결되면 이제 파일 패널(Git 보기 모드)에서 Git의 파일을 볼 수 있습니다. Git은 로컬 리포지토리의 파일을 다음과 같이 분류합니다.

  • 추적되지 않는 파일: Git 리포지토리에 한 번도 커밋되지 않은 파일입니다. Git 리포지토리를 초기화한 후 커밋하기 전까지 이들 파일은 추적되지 않습니다.
  • 수정되지 않은 파일: 수정되지 않은 파일입니다.
  • 수정된 파일: 편집된 파일입니다.
  • 스테이지드 파일: 수정되고 커밋할 준비가 된 파일입니다.

Git을 사용하여 파일의 수정 내용을 추적할 수 있습니다. 로컬 시스템에 있는 파일을 수정하면 이들 수정된 파일은 파일 패널에서 다른 색상으로 표시됩니다. 코드 보기 모드에서 파일을 더블 클릭하여 열면 수정된 라인에 대한 간격 표시도 확인할 수 있습니다. 계속해서 Git에서 수정된 파일을 커밋하여 변경 내용을 동기화할 수 있습니다.

파일을 커밋하면 Git에서 각 커밋에 대한 로그 메시지를 입력하고 Diff 기능을 사용하여 변경 내용을 검토할 수 있습니다. 또한 각 파일과 전체 리포지토리에 대한 버전 내역을 조회할 수 있습니다.

계속되는 설명을 통해 Dreamweaver 내에서 편집 내용을 추적하고 Git에서의 변경 내용을 커밋하는 방법에 대해 살펴보십시오.

Git에서의 편집 내용 추적

Dreamweaver의 파일 패널에는 FTP 보기와 Git 보기 모드 간 전환할 수 있는 Git 아이콘이 있습니다. Git 보기 모드를 전환하려면 Git 아이콘을 클릭합니다.

Git 리포지토리를 초기화한 후 파일을 커밋하지 않으면 해당 파일은 추적되지 않는 상태를 유지하게 됩니다. 그러나 리포지토리 초기화한 후 파일을 커밋하면 해당 파일은 Git에서 인식됩니다.

파일 패널에서 추적되지 않는 파일 보기
파일 패널에서 추적되지 않는 파일 보기
Git 리포지토리에 커밋된 후의 파일
Git에서 인식되는 커밋된 파일 보기

다른 리포지토리에서 파일을 모두 복제한 경우 이들 파일을 Git에서 다시 인식됩니다.

파일을 수정하고 [저장]을 클릭하면 수정된 파일은 파일 패널에서 다른 색상으로 표시됩니다. 코드 보기 모드에서 수정된 파일을 더블 클릭하여 정확한 변경 내용을 조회할 수 있습니다.

코드 보기 모드의 간격 표시
코드 보기 모드의 간격 표시

간격 표시는 변경 내용이 적용된 라인을 표시해 줍니다. 녹색 간격 표시는 새로 추가된 코드를 나타냅니다. 노란색 간격 표시는 수정된 코드를 가리키고, 빨간색 간격 표시는 삭제된 코드를 나타냅니다.

간격 표시를 통해 Dreamweaver에서 코드에 적용된 변경 내용 확인
간격 표시를 통해 코드에 적용된 변경 내용 확인

노란색 간격 표시를 클릭하면 애플리케이션이 빨간색으로 표시되는 삭제된 코드 행과 더불어 녹색으로 표시되는 새로 추가된 코드를 모두 표시해 줍니다.

삭제된 코드 행의 왼쪽으로 R 기호가 표시됩니다. 이 R 기호를 클릭하여 삭제된 코드를 파일에 다시 추가할 수 있습니다.

Dreamweaver Git에서 R 기호를 클릭하여 삭제된 코드 추가
R 기호를 클릭하여 삭제된 코드 추가

간격 표시를 사용하여 Git 리포지토리에 변경 내용을 커밋하기 전에 Diff를 조회하고 검토할 수 있습니다.

수정된 파일에 대한 Diff 보기

Git 패널을 열면 수정된 파일의 목록이 표시됩니다. 이 목록에서 파일을 클릭하고 이전 커밋 전에 해당 파일에 적용된 변경 내용(Diff)을 볼 수 있습니다. 파일에 대한 Diff를 조회하려면 Git 패널에서 다음 중 하나를 수행합니다.

  • 편집 내용을 보려면 각 파일을 클릭합니다. 빨간색 강조 표시는 이전 버전을 나타내는 반면 녹색 강조 표시는 현재 적용한 변경 내용을 나타냅니다.
  • Diff를 조회하려는 파일을 선택합니다. Diff 아이콘()을 클릭합니다. Git Diff 대화 상자가 나타나며 빨간색과 녹색으로 강조 표시된 변경 내용을 볼 수 있습니다.
수정된 파일에 대한 Diff 보기
수정된 파일에 대한 Diff 보기

변경 내용 커밋

로컬 리포지토리의 모든 변경 내용을 기록하려면 내 파일에 적용된 변경 내용을 커밋해야 합니다. Git에서 변경 내용을 커밋하려면 다음 작업을 수행합니다.
  1. Git 패널에서 커밋하려는 하나 또는 복수의 파일을 선택합니다.

    로컬 Git 리포지토리에 변경 내용 커밋
    로컬 Git 리포지토리에 변경 내용 커밋
  2. 커밋 아이콘()을 클릭합니다.

    [커밋]을 클릭하면 시스템이 Git 커밋 대화 상자를 표시합니다. 이 대화 상자에는 수정된 내용이 있는 파일이 표시됩니다.

    파일을 커밋하기 전에 각 파일을 클릭하여 변경 내용을 조회할 수 있습니다.

  3. 파일을 커밋하려면 메시지 상자에 커밋 메시지를 입력하고 [확인]을 클릭합니다.

    파일을 커밋하고 나면 이들 파일은 Git 패널에서도 삭제됩니다.

    Git의 변경 내용 커밋
    Git의 변경 내용 커밋

변경 내용 되돌리기

변경 내용을 이미 커밋했지만 파일의 이전 버전으로 되돌리고자 하는 경우에는 다음 작업을 수행합니다.

  1. Git 패널에서 되돌리려는 하나 또는 복수의 파일을 선택합니다.

  2. Git 패널의 샌드위치 아이콘을 클릭하고 [마지막 커밋 이후 변경 내용 되돌리기]를 선택합니다.

    로컬 리포지토리에 이전 버전의 파일이 복원됩니다. 파일 패널에서 복원된 파일을 볼 수 있습니다.

    파일 커밋 후 변경 내용 되돌리기
    파일 커밋 후 변경 내용 되돌리기

    참고:

    커밋 후 파일을 되돌리려면 해당 파일을 최소한 두 번 커밋해야 합니다.

  3. 커밋 전에 변경 내용을 되돌리려면 다음 단계를 수행합니다.

    파일 커밋 전 마지막으로 커밋된 버전의 파일을 유지하려면 다음 단계를 수행하십시오.

    1. Git 패널을 엽니다.
    2. 유지하려는 파일을 선택하고 새로 고침 아이콘을 클릭합니다.
    3. 확인 대화 상자에서 [확인]을 클릭합니다.

    선택한 파일이 수정된 파일 목록에서 삭제되고 해당 파일의 이전 버전이 복원됩니다.

    Git에서의 변경 내용 커밋 전 파일 되돌리기
    변경 내용 커밋 전 파일 되돌리기

태그 작성

Git에서 변경 내용을 커밋할 때마다 태그를 작성할 수 있습니다. 태그를 사용하여 중요한 커밋을 표시할 수 있습니다. 예를 들어 클라이언트에 의해 요청된 중요한 변경에 대한 체크인이 있습니다. 이 태그는 특정 커밋에 대한 포인터로 작동합니다.

  1. 태그를 작성하려면 Git 패널에서 태그 작성 아이콘()을 클릭합니다.

  2. 태그 작성 대화 상자에서 해당 태그의 이름을 지정합니다. [확인]을 클릭합니다.

    커밋에 대한 태그 작성
    커밋에 대한 태그 작성

    작성한 태그는 커밋과 연계됩니다.

    커밋 수행 후 태그를 작성하면 이 태그는 마지막 커밋과 자동으로 연계됩니다.

파일 내역 보기

Git에서 파일을 커밋할 때마다 해당 커밋의 세부 정보와 함께 이 파일의 내역을 조회할 수 있습니다. 이 기능은 중요한 커밋과 커밋에 연계된 태그를 식별하는 데 편리하게 사용할 수 있습니다.

  1. Git 패널에서 다음 중 하나를 수행합니다.
  • 필요한 파일을 선택하고 파일 내역 표시 아이콘()을 클릭합니다.
  • 파일 패널에서 해당 파일을 마우스 오른쪽 버튼으로 클릭하고 [파일 내역]을 선택합니다.

시스템이 선택한 파일에 대한 Git 파일 내역을 표시합니다. 동일한 대화 상자에서 이 파일에 대한 커밋의 세부 정보를 조회할 수도 있습니다.

Git에서 파일 내역 보기
Git에서 파일 내역 보기

리포지토리 내역 보기

Git에서 파일 내역을 조회하는 것과는 별도로 리포지토리 수준에서 적용된 변경 내용을 조회할 수도 있습니다. 리포지토리 수준에서 적용된 모든 변경 내용을 조회할 수 있습니다. 리포지토리 내역을 조회하려면 다음 단계를 수행하십시오.

  1. Git 패널에서 리포지토리 내역 표시 아이콘을 클릭합니다. 시스템이 모든 커밋 세부 정보와 함께 Git 리포지토리 내역을 표시합니다.

  2. 커밋 메시지, 파일이 커밋된 날짜와 시간, 커밋에 연계된 태그, 파일을 커밋한 사용자에 대한 세부 정보를 조회할 수 있습니다.

  3. 리포지토리 내역은 일반적으로 리포지토리 수준에서 커밋된 파일의 목록을 지정합니다. 각 파일을 클릭하여 파일 수준에서의 변경 내역을 조회할 수 있습니다.

공동 작업을 위해 Git 사용

가장 돋보이는 Git 기능 중 하나는 브랜치입니다. 대부분의 버전 제어 시스템과는 달리 Git 브랜치는 모든 연계 파일이나 코드의 독립된 행과 동일하게 취급할 수 있습니다. 기본적으로 리포지토리는 “마스터”라고 하는 하나의 브랜치를 가지고 있습니다. 마스터 브랜치는 기본 또는 최종 브랜치입니다. 마스터로부터 브랜치를 생성하고 이들 각각의 브랜치를 편집할 수 있습니다.

다른 브랜치에서 하나의 브랜치를 생성할 수도 있으며, 이 경우 부모 브랜치의 사본이 만들어집니다. 동일한 Git 리포지토리의 두 브랜치에 대해 독립적으로 작업을 수행할 수 있습니다. 예를 들어 하나의 브랜치에서 새로운 기능과 관련된 작업을 진행하는 동안 다른 브랜치에서 필요한 변경 작업을 수행할 수 있습니다.

현재 브랜치의 변경 내용을 대상 브랜치에 통합하고자 하는 경우 Git에서 이들 브랜치를 병합할 수 있습니다. 두 개의 브랜치를 병합해도 이들 브랜치는 모두 독립적으로 계속 존재하게 됩니다. 부모 및 대상 브랜치에서 작업을 계속 진행할 수 있습니다.

Dreamweaver에서 다수의 개발자와 디자이너가 하나의 사이트에 대해 함께 작업할 때 각각의 사용자는 마스터로부터 브랜치를 생성하고 변경 내용을 개별적으로 적용할 수 있습니다. 필요한 경우 언제든지 변경 내용을 다른 브랜치와 간편하게 병합하고 이들 두 브랜치로 작업을 계속 진행할 수 있습니다.

이어지는 섹션을 통해 Git에서 브랜치를 만들고 관리하는 방법에 대해 살펴보십시오.

Git에서 브랜치 만들기

  1. 파일 패널에서 모든 브랜치를 나열하는 드롭다운 목록을 선택합니다.

  2. [브랜치 관리]를 클릭합니다.

    Git에서 브랜치 만들기
    Git에서 브랜치 만들기
  3. 브랜치 관리 대화 상자의 왼쪽 하단에 있는 + 기호를 클릭합니다.

    브랜치 관리 대화 상자의 아래쪽에 있는 플러스 기호 클릭
    브랜치 관리 대화 상자의 아래쪽에 있는 플러스 기호 클릭
  4. 새 브랜치 만들기 대화 상자에서 복사하려는 원본 브랜치를 선택합니다.

    브랜치를 처음 만드는 경우에는 원본 브랜치가 마스터 브랜치입니다.

    원본 브랜치 선택
    원본 브랜치 선택

  5. 브랜치 이름 필드에서 새 브랜치의 이름을 지정합니다.

  6. [확인]을 클릭합니다.

브랜치 병합

  1. 파일 패널에서 모든 브랜치가 나열되는 드롭다운 목록을 선택합니다.

  2. [브랜치 관리]를 클릭합니다. 브랜치 관리 대화 상자에서 병합하려는 브랜치를 선택합니다.

  3. 대화 상자의 아래쪽에 있는 브랜치 병합 아이콘()을 클릭합니다.

  4. 브랜치 병합 대화 상자에서 대상 브랜치를 선택합니다. 이 브랜치는 내 브랜치를 병합하려는 대상 리포지토리입니다.

    원하는 경우 이 병합과 관련된 메시지를 지정합니다.

  5. [확인]을 클릭하여 브랜치를 대상 브랜치와 병합합니다.

    Git에서 브랜치 병합
    Git에서 브랜치 병합

    하나의 커밋에서의 파일 변경 내용이 다른 브랜치의 변경 내용과 충돌하는 경우 병합 프로세스는 일시 중단됩니다. 시스템은 충돌을 일으킨 파일과 함께 충돌 메시지를 표시합니다.

    Git 패널은 충돌이 발생한 파일도 표시해 줍니다. 충돌이 발생했음을 나타내는 아이콘을 살펴보십시오.

    병합 도중 충돌이 발생한 파일이 있는 Git 패널
    병합 도중 충돌이 발생한 파일이 있는 Git 패널

    병합 프로세스를 계속 진행하려면 리베이스 옵션을 사용하거나 No Fast Forward 옵션을 통해 병합을 진행하여 충돌 문제를 해결해야 합니다.

  6. 병합 충돌이 발생하는 경우 다음 옵션 중 하나를 선택합니다.

    • 리베이스 사용: 리베이스 옵션을 선택하면 대상 브랜치에서 발생하는 충돌을 무시하고 현재 변경 내용이 적용됩니다. 리베이스 옵션을 선택하고 [확인]을 클릭한 다음 Git 패널을 열어 아직 커밋되지 않은 파일을 조회할 수 있습니다. 그런 다음 리베이스를 중단하거나 다시 시작할 수 있습니다. 리베이스를 중단하면 해당 리베이스 액션이 멈추며 대상 브랜치에 변경 내용이 적용되지 않습니다. 리베이스를 다시 시작하면 변경 내용은 대상 브랜치에서 발생한 충돌을 건너뛰게 됩니다.
    • 병합이 Fast Forward로 해결되는 경우에도 병합 커밋 만들기: 브랜치와 대상 브랜치 사이에서 발생한 충돌을 무시하고 커밋을 병합할 수도 있습니다. 이 경우에는 변경 내용이 대상 브랜치에서의 변경 내용을 무시하고 강제로 병합됩니다.

    Git에서의 리베이스에 대한 자세한 내용은 Git 리베이싱을 참조하십시오.

원격 리포지토리를 사용하여 작업

Git의 원격 리포지토리는 다른 네트워크에서 호스팅되는 프로젝트의 버전입니다. 리포지토리와의 연결을 통해 원격 리포지토리에 액세스할 수 있습니다. 원격 리포지토리에서 지정된 액세스 권한에 따라 해당 리포지토리에 대해 읽기 전용으로 액세스하거나 쓰기 액세스 권한을 가질 수 있습니다.

팀에서 작업하는 경우 원격 리포지토리는 다른 리포지토리와 데이터를 교환하는 데 유용합니다. Dreamweaver Git 패널에서 원격 연결을 생성하고 가져오기, Git 푸시, Git 풀, 원격 새로 고침 등 다양한 Git 작업을 수행할 수 있습니다.

다음 절차를 통해 원격 리포지토리를 만들고 관리하는 방법에 대해 살펴보십시오.

원격 리포지토리 추가

원격 리포지토리를 추가하여 파일과 작업 진행 내용을 공유하고 다른 네트워크에서 호스팅되는 프로젝트 파일에 액세스할 수 있습니다. 원격 리포지토리를 추가하면 대상 리포지토리와의 원격 연결을 구축하게 됩니다. Dreamweaver의 Git 패널에서 원격 리포지토리를 만들 수 있습니다.

원격 리포지토리를 추가하기 전에 다른 리포지토리에서 공개 설정이 활성화되었는지 확인하십시오.

  1. Git 패널에서 [원격 만들기]를 클릭합니다.

  2. 원격 리포지토리의 이름을 지정합니다.

  3. 원격 리포지토리의 URL 및 자격 증명을 입력합니다.

    원격 리포지토리를 추가할 때 유효한 URL을 입력했는지 확인하려면 URL 입력 후 [테스트]를 클릭하십시오. [테스트]를 클릭하면 URL의 유효성 검사가 진행됩니다.

    자격 증명의 유효성을 검사하는 데는 이 테스트를 적용할 수 없습니다.

    Dreamweaver에서 원격 리포지토리 추가
    원격 리포지토리 추가

    경고:

    올바른 URL 또는 자격 증명을 입력하지 않으면 Git 풀, Git 푸시, 가져오기 등의 작업을 수행할 때 오류가 발생합니다.

  4. [확인]을 클릭합니다.

    원격 리포지토리를 추가하면 Git 패널의 상단에 있는 드롭다운 목록에 해당 리포지토리가 표시됩니다. Git 푸시, Git 풀, 원격 가져오기, 카운터 새로 고치기 등의 작업을 수행하기 위한 추가 아이콘도 표시됩니다.

    Git에서 원격 리포지토리 추가
    Git에서 원격 리포지토리 추가

원격 리포지토리 관리

원격 리포지토리를 추가하고 연결을 설정하고 나면 이 원격 리포지토리에서 로컬 리포지토리로 파일 가져오기 및 풀링 작업을 수행할 수 있습니다. 파일을 원격 리포지토리로 푸시할 수도 있습니다. 단, Git 푸시 작업을 처음 수행하기 전에 원격 리포지토리에서 파일을 우선 가져와야 합니다.

파일을 푸시하기에 앞서 로컬 리포지토리에 있는 모든 파일을 커밋해야 한다는 점을 참고하십시오. 로컬 리포지토리에 스테이지드 파일이 있는 경우 Git 푸시는 계속 실패하게 됩니다. 

Dreamweaver 내에서 다음과 같은 Git 작업을 수행할 수 있습니다.

모두 가져오기

를 클릭하여 모든 원격 연결로부터 모든 파일을 가져옵니다. Git 푸시 또는 Git 풀을 수행하기 전에 Git 가져오기를 수행하는 것이 좋습니다. 이 작업은 원격에서만 파일을 가져오고 로컬 리포지토리를 수정하지는 않습니다.

원격 리포지토리로부터 파일 풀링

단일 리포지토리 또는 리포지토리의 그룹으로부터 변경 내용을 풀링할 수 있습니다. Git 풀 아이콘을 클릭하면 시스템이 다양한 옵션을 제공하는 Git 풀 대화 상자를 표시합니다.

  1. Git 패널에서 Git 풀 아이콘()을 클릭하여 원격 리포지토리에서 수정된 파일을 풀링하고 변경 내용을 로컬 리포지토리와 병합합니다.

  2. Git 풀 대화 상자에서 추적 브랜치를 선택하고 현재 브랜치에서 변경 내용을 풀링할지 또는 다른 브랜치에서 풀링할지를 선택한 다음 풀링 설정을 지정합니다.

    원격 리포지토리로부터 Git 풀 수행
    원격 리포지토리로부터 Git 풀 수행

  3. 기본적으로 기본 병합이 선택됩니다. 이 경우 원격 파일이 로컬 리포지토리로 풀링되고 변경 내용이 로컬로 병합됩니다.

  4. 다음 옵션 중 하나를 선택할 수도 있습니다.

    • 수동 병합 방지: 파일의 수동 병합을 사용하지 않으려면 이 옵션을 선택합니다.
    • 커밋 없이 병합: 스테이지드 파일을 커밋하지 않고도 원격 리포지토리로 병합을 진행하려면 이 옵션을 선택합니다.
    • 리베이스 사용: 리베이스를 수행하려면 이 옵션을 선택합니다. 리베이스를 사용하면 현재 브랜치의 변경 내용이 취해지고 파일을 풀링하는 브랜치의 내역에서 적용됩니다. 브랜치에 대해 마지막으로 커밋된 내역이 다시 작성되므로 파일을 풀링하는 대상 브랜치에서의 파일 버전과 일치하게 됩니다. 리베이싱 절차를 통해 브랜치에 대한 Git 내역이 삭제되기는 하지만, 리베이스 사용 옵션을 선택한 경우에는 주의를 기울여야 합니다.
    • 소프트 리셋 사용: 리셋 또는 소프트 리베이스를 수행하려면 이 옵션을 선택합니다. 처음으로 원격 리포지토리에서 파일을 풀링하는 경우 소프트 리셋 사용 옵션을 선택할 수 있습니다. 이 경우 원격 리포지토리는 로컬 리포지토리가 모든 변경 내용을 수신하는 부모 리포지토리로 작동합니다. 단, 로컬 리포지토리의 변경 내용은 유지됩니다. 로컬 리포지토리에는 있지만 원격 리포지토리에 없는 파일은 Git에서 인식되지 않습니다. 소프트 리셋 수행 후 이들 파일은 삭제된 파일로 표시됩니다. 로컬 리포지토리에서 이들 파일을 그대로 유지하면 원격 변경 내용은 손실됩니다.

    경고:

    소프트 리셋을 계속 진행하면 인식되지 않는 파일은 모두 삭제됩니다.

원격 리포지토리로 파일 푸시

원격 리포지토리와 연결한 후 파일을 수정하고 수정된 파일을 커밋하면 Git이 이러한 변경 내용을 기록합니다. Git 패널의 Git 푸시 아이콘()에 수정된 파일의 수가 즉시 표시됩니다. 이들 파일은 이제 원격 리포지토리로 푸시될 수 있습니다.

Git 푸시를 수행하면 로컬 리포지토리에 적용한 커밋이 원격 리포지토리로 푸시됩니다.

Dreamweaver 내에서 파일을 푸시하려면 다음 단계를 수행합니다.

  1. Git 패널에서 Git 푸시 아이콘을 클릭합니다.

    시스템이 Git 푸시 대화 상자를 표시합니다. 현재 추적 브랜치 또는 지정한 다른 브랜치로 커밋을 푸시할 수 있습니다.

    로컬 커밋을 Git 리포지토리로 푸시
    로컬 커밋을 Git 리포지토리로 푸시

  2. 이 대화 상자에서 푸시 설정을 지정할 수도 있습니다. 기본적으로 기본 푸시 옵션이 선택됩니다.

  3. 다음과 같은 옵션을 선택할 수도 있습니다.

    • 강제 푸시: 잠재적인 충돌 문제를 무시하고 원격 리포지토리로 변경 내용을 강제로 푸시하려면 이 옵션을 선택합니다.
    • 원격 브랜치 삭제: 기존 원격 브랜치를 삭제하고 로컬 파일을 원격 리포지토리로 푸시하려면 이 옵션을 선택합니다.
  4. [태그 보내기] 확인란을 선택하여 원격 리포지토리로 태그를 푸시할 수도 있습니다.

  5. [확인]을 클릭합니다.

    로컬 커밋과 원격 리포지토리에 적용된 커밋 사이에 충돌이 발생하는 경우에는 변경 내용을 푸시하기 전에 모든 충돌 문제를 우선 해결하는 것이 좋습니다. 

    이 경우 원격 리포지토리에서 변경 내용을 먼저 풀링하고 충돌 문제를 해결한 다음 충돌이 발생하지 않는 상태로 파일을 푸시해야 합니다.

Git 패널에서 파일 검색

Git 패널의 검색 상자를 사용하여 파일 이름으로 원하는 파일을 검색할 수 있습니다. 이 기능은 사이트와 관련된 파일의 수가 많을 때 특히 유용합니다.

파일을 검색하려면 검색 표시줄에 간단히 파일 이름만 입력하면 됩니다. 해당 검색어를 포함하는 파일이 즉시 표시됩니다.

무시 목록에 파일 추가

Git이 파일에 작용하지 않도록 하려면 .gitignore에 해당 파일을 추가합니다. 이렇게 하면 커밋, 푸시, 풀을 포함하여 모든 작업을 수행할 때마다 Git이 이 폴더에 있는 파일을 무시하게 됩니다. 내 리포지토리를 복제하는 다른 모든 사용자가 .gitignore 폴더에 있는 파일을 인지할 수 있도록 .gitignore 파일을 내 리포지토리로 커밋해야 합니다.

.gitignore에 파일을 추가하려면 Dreamweaver의 파일 패널로 이동합니다. Git이 무시하도록 하려는 파일을 선택하고 마우스 오른쪽 버튼으로 클릭한 다음 [Git] > [.gitignore에 추가]를 선택합니다.

.gitignore에 파일 추가
.gitignore에 파일 추가

언제든지 .gitignore에서 파일을 제거하려는 경우에는 파일 패널에서 해당 파일을 선택합니다. 마우스 오른쪽 버튼을 클릭하고 [Git] > [.gitignore에서 제거]를 선택합니다.

.gitignore 파일을 수정한 후에는 이 파일을 로컬 및 원격 리포지토리에 커밋해야 합니다.

명령줄을 통해 Git 액세스

이 문서의 이전 섹션에서 Git 패널(UI)을 사용하여 내 사이트에 Git 리포지토리를 연결하고, 원격 연결을 생성 및 관리하고, 파일을 리포지토리로 푸시하고, 리포지토리에서 파일을 풀링하는 방법을 이미 설명했습니다. 이러한 작업을 수행할 수 있음은 물론이고, 더 많은 Git 명령을 사용할 수도 있습니다.

터미널을 사용하여 모든 Git 작업을 진행하려면 다음 중 하나를 수행하십시오.

  • [윈도우] > [Git]을 클릭하고 [배시/터미널 콘솔 열기] 아이콘을 클릭합니다.
  • 파일 패널에서 Git 보기 모드로 전환합니다. 리포지토리 드롭다운 목록 옆에 있는 [Git 터미널 열기] 아이콘을 클릭합니다.

일반적인 git 명령은 Git 치트 시트를 참조하십시오. 

참고:

책갈피 기능이나 푸시 후 명령 조합과 같은 일부 작업은 아직은 명령줄에서만 실행할 수 있습니다.

명령줄에서 Git 리포지토리 초기화와 같은 특정 작업을 수행하면 이들 작업은 Dreamweaver 인터페이스에서도 반영됩니다.

그러나 Dreamweaver 애플리케이션이 열려 있지 않을 때 명령줄을 사용하여 파일을 수정하면 다음 번 Dreamweaver 실행 시 아래와 같은 메시지가 표시됩니다.

CLI를 사용하여 파일 수정 시 메시지
CLI를 사용하여 파일 수정 시 메시지

Dreamweaver에서 Git 환경 설정

Dreamweaver에서 Git 환경 설정을 통해 Dreamweaver와 함께 Git을 사용하기 위한 일부 설정을 정의할 수 있습니다. 환경 설정 대화 상자를 사용하여 터미널로의 경로, 시간 제한 설정 등의 Git 환경 설정을 지정할 수 있습니다.

  1. [편집] > [환경 설정]을 선택합니다.

  2. 환경 설정 대화 상자에서 [Git]을 선택합니다.

  3. Git 환경 설정 대화 상자에서 다음 옵션을 설정합니다.

    • Git 실행 파일 경로: Git 클라이언트의 .exe 파일입니다. 실행 파일이 다른 위치에 저장되어 있는 경우에는 Git .exe 파일이 저장된 위치를 검색합니다.
    • 기본 Git 작업 시간 제한: 모든 원격 Git 작업에 대한 시간 제한을 초 단위로 지정합니다.
    • 터미널 경로: Git 터미널을 열고 사용하기 위한 실행 파일로의 전체 경로입니다.
    • 명령 인수: Git 명령에 대한 명령 인수(있는 경우)를 제공합니다.
    Dreamweaver에서의 Git에 대한 환경 설정
    Dreamweaver에서의 Git에 대한 환경 설정

  4. [적용]을 클릭하여 설정을 저장합니다.

참고:

Dreamweaver를 다시 시작하면 업데이트한 환경 설정이 적용됩니다.

이 작업에는 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License의 라이센스가 부여되었습니다.  Twitter™ 및 Facebook 게시물은 Creative Commons 약관을 적용받지 않습니다.

법적 고지 사항   |   온라인 개인 정보 보호 정책