InfoGrab Docs

브랜치 API

요약

이 API를 사용하여 Git 브랜치를 관리합니다. 프로젝트에 구성된 브랜치 보호를 변경하려면 보호 브랜치 API를 사용하세요. 프로젝트의 모든 저장소 브랜치를 알파벳순으로 정렬하여 나열합니다. 이 엔드포인트는 저장소가 공개적으로 접근 가능한 경우 인증 없이 접근할 수 있습니다.

이 API를 사용하여 Git 브랜치를 관리합니다.

프로젝트에 구성된 브랜치 보호를 변경하려면 보호 브랜치 API를 사용하세요.

모든 저장소 브랜치 나열#

프로젝트의 모든 저장소 브랜치를 알파벳순으로 정렬하여 나열합니다. 이름으로 검색하거나, 정규 표현식을 사용하여 특정 브랜치 패턴을 찾습니다. 보호 상태, 머지 상태, 커밋 세부 정보를 포함한 브랜치에 대한 자세한 정보를 반환합니다.

Note

이 엔드포인트는 저장소가 공개적으로 접근 가능한 경우 인증 없이 접근할 수 있습니다.

GET /projects/:id/repository/branches

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL-인코딩된 경로.
regex 문자열 아니요 re2 정규 표현식과 일치하는 이름의 브랜치 목록을 반환합니다. search와 함께 사용할 수 없습니다.
search 문자열 아니요 검색 문자열이 포함된 브랜치 목록을 반환합니다. ^term을 사용하여 term으로 시작하는 브랜치를, term$을 사용하여 term으로 끝나는 브랜치를 찾을 수 있습니다.

성공 시 200 OK 및 다음 응답 속성을 반환합니다:

속성 유형 설명
can_push 부울 true이면 인증된 사용자가 이 브랜치에 푸시할 수 있습니다.
commit 객체 브랜치의 가장 최근 커밋에 대한 세부 정보.
commit.author_email 문자열 변경을 작성한 사용자의 이메일 주소.
commit.author_name 문자열 변경을 작성한 사용자의 이름.
commit.authored_date 날짜/시간 (ISO 8601) 커밋이 작성된 시간.
commit.committed_date 날짜/시간 (ISO 8601) 커밋이 커밋된 시간.
commit.committer_email 문자열 변경을 커밋한 사용자의 이메일 주소.
commit.committer_name 문자열 변경을 커밋한 사용자의 이름.
commit.created_at 날짜/시간 (ISO 8601) 커밋이 생성된 시간.
commit.extended_trailers 객체 커밋 메시지에서 파싱된 확장 Git 트레일러.
commit.id 문자열 커밋의 전체 SHA.
commit.message 문자열 전체 커밋 메시지.
commit.parent_ids 배열 부모 커밋 SHA 배열.
commit.short_id 문자열 커밋의 축약된 SHA.
commit.title 문자열 커밋 메시지의 제목.
commit.trailers 객체 커밋 메시지에서 파싱된 Git 트레일러.
commit.web_url 문자열 GitLab UI에서 커밋을 보기 위한 URL.
default 부울 true이면 브랜치가 프로젝트의 기본 브랜치입니다.
developers_can_merge 부울 true이면 Developer, Maintainer 또는 Owner 역할의 사용자가 이 브랜치에 머지할 수 있습니다.
developers_can_push 부울 true이면 Developer, Maintainer 또는 Owner 역할의 사용자가 이 브랜치에 푸시할 수 있습니다.
merged 부울 true이면 브랜치가 기본 브랜치에 머지되었습니다.
name 문자열 브랜치의 이름.
protected 부울 true이면 브랜치가 강제 푸시 및 삭제로부터 보호됩니다.
web_url 문자열 GitLab UI에서 브랜치를 보기 위한 URL.

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/branches"

응답 예시:

[
  {
    "name": "main",
    "merged": false,
    "protected": true,
    "default": true,
    "developers_can_push": false,
    "developers_can_merge": false,
    "can_push": true,
    "web_url": "https://gitlab.example.com/my-group/my-project/-/tree/main",
    "commit": {
      "id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c",
      "short_id": "7b5c3cc",
      "created_at": "2024-06-28T03:44:20-07:00",
      "parent_ids": [
        "4ad91d3c1144c406e50c7b33bae684bd6837faf8"
      ],
      "title": "add projects API",
      "message": "add projects API",
      "author_name": "John Smith",
      "author_email": "john@example.com",
      "authored_date": "2024-06-27T05:51:39-07:00",
      "committer_name": "John Smith",
      "committer_email": "john@example.com",
      "committed_date": "2024-06-28T03:44:20-07:00",
      "trailers": {},
      "extended_trailers": {},
      "web_url": "https://gitlab.example.com/my-group/my-project/-/commit/7b5c3cc8be40ee161ae89a06bba6229da1032a0c"
    }
  },
  ...
]

저장소 브랜치 조회#

지정된 프로젝트 저장소 브랜치를 조회합니다.

Note

이 엔드포인트는 저장소가 공개적으로 접근 가능한 경우 인증 없이 접근할 수 있습니다.

GET /projects/:id/repository/branches/:branch

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL-인코딩된 경로.
branch 문자열 브랜치의 URL-인코딩된 이름.

성공 시 200 OK 및 다음 응답 속성을 반환합니다:

속성 유형 설명
can_push 부울 인증된 사용자가 이 브랜치에 푸시할 수 있는지 여부.
commit 객체 브랜치의 최신 커밋에 대한 세부 정보.
commit.author_email 문자열 커밋 작성자의 이메일 주소.
commit.author_name 문자열 커밋 작성자의 이름.
commit.authored_date 문자열 커밋이 작성된 날짜/시간 (ISO 8601 형식).
commit.committer_email 문자열 변경을 커밋한 사용자의 이메일 주소.
commit.committer_name 문자열 변경을 커밋한 사용자의 이름.
commit.committed_date 문자열 커밋이 커밋된 날짜/시간 (ISO 8601 형식).
commit.created_at 문자열 커밋이 생성된 날짜/시간 (ISO 8601 형식).
commit.extended_trailers 객체 커밋 메시지에서 파싱된 확장 Git 트레일러.
commit.id 문자열 커밋의 전체 SHA.
commit.message 문자열 전체 커밋 메시지.
commit.parent_ids 배열 부모 커밋 SHA 배열.
commit.short_id 문자열 커밋의 축약된 SHA.
commit.title 문자열 커밋 메시지의 제목.
commit.trailers 객체 커밋 메시지에서 파싱된 Git 트레일러.
commit.web_url 문자열 GitLab UI에서 커밋을 보기 위한 URL.
default 부울 프로젝트의 기본 브랜치인지 여부.
developers_can_merge 부울 Developer 역할의 사용자가 이 브랜치에 머지할 수 있는지 여부.
developers_can_push 부울 Developer 역할의 사용자가 이 브랜치에 푸시할 수 있는지 여부.
merged 부울 브랜치가 기본 브랜치에 머지되었는지 여부.
name 문자열 브랜치의 이름.
protected 부울 브랜치가 강제 푸시 및 삭제로부터 보호되는지 여부.
web_url 문자열 GitLab UI에서 브랜치를 보기 위한 URL.

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/branches/main"

응답 예시:

{
  "name": "main",
  "merged": false,
  "protected": true,
  "default": true,
  "developers_can_push": false,
  "developers_can_merge": false,
  "can_push": true,
  "web_url": "https://gitlab.example.com/my-group/my-project/-/tree/main",
  "commit": {
    "id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c",
    "short_id": "7b5c3cc",
    "created_at": "2012-06-28T03:44:20-07:00",
    "parent_ids": [
      "4ad91d3c1144c406e50c7b33bae684bd6837faf8"
    ],
    "title": "add projects API",
    "message": "add projects API",
    "author_name": "John Smith",
    "author_email": "john@example.com",
    "authored_date": "2012-06-27T05:51:39-07:00",
    "committer_name": "John Smith",
    "committer_email": "john@example.com",
    "committed_date": "2012-06-28T03:44:20-07:00",
    "trailers": {},
    "extended_trailers": {},
    "web_url": "https://gitlab.example.com/my-group/my-project/-/commit/7b5c3cc8be40ee161ae89a06bba6229da1032a0c"
  }
}

저장소 브랜치 보호#

저장소 브랜치 보호에 대한 정보는 POST /projects/:id/protected_branches를 참조하세요.

저장소 브랜치 보호 해제#

저장소 브랜치 보호 해제에 대한 정보는 DELETE /projects/:id/protected_branches/:name을 참조하세요.

저장소 브랜치 생성#

저장소에 새 브랜치를 생성합니다.

POST /projects/:id/repository/branches

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL-인코딩된 경로.
branch 문자열 브랜치의 이름. 하이픈 및 밑줄을 제외한 공백이나 특수 문자를 포함할 수 없습니다.
ref 문자열 브랜치를 생성할 브랜치 이름 또는 커밋 SHA.

성공 시 201 Created 및 다음 응답 속성을 반환합니다:

속성 유형 설명
can_push 부울 true이면 인증된 사용자가 이 브랜치에 푸시할 수 있습니다.
commit 객체 브랜치의 최신 커밋에 대한 세부 정보.
commit.author_email 문자열 커밋 작성자의 이메일 주소.
commit.author_name 문자열 커밋 작성자의 이름.
commit.authored_date 문자열 커밋이 작성된 날짜/시간 (ISO 8601 형식).
commit.committed_date 문자열 커밋이 커밋된 날짜/시간 (ISO 8601 형식).
commit.committer_email 문자열 변경을 커밋한 사용자의 이메일 주소.
commit.committer_name 문자열 변경을 커밋한 사용자의 이름.
commit.created_at 문자열 커밋이 생성된 날짜/시간 (ISO 8601 형식).
commit.extended_trailers 객체 커밋 메시지에서 파싱된 확장 Git 트레일러.
commit.id 문자열 커밋의 전체 SHA.
commit.message 문자열 전체 커밋 메시지.
commit.parent_ids 배열 부모 커밋 SHA 배열.
commit.short_id 문자열 커밋의 축약된 SHA.
commit.title 문자열 커밋 메시지의 제목.
commit.trailers 객체 커밋 메시지에서 파싱된 Git 트레일러.
commit.web_url 문자열 GitLab UI에서 커밋을 보기 위한 URL.
default 부울 true이면 프로젝트의 기본 브랜치로 설정됩니다.
developers_can_merge 부울 true이면 Developer 역할의 사용자가 이 브랜치에 머지할 수 있습니다.
developers_can_push 부울 true이면 Developer 역할의 사용자가 이 브랜치에 푸시할 수 있습니다.
merged 부울 true이면 브랜치가 기본 브랜치에 머지되었습니다.
name 문자열 브랜치의 이름.
protected 부울 true이면 브랜치가 강제 푸시 및 삭제로부터 보호됩니다.
web_url 문자열 GitLab UI에서 브랜치를 보기 위한 URL.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/branches?branch=newbranch&ref=main"

응답 예시:

{
  "commit": {
    "id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c",
    "short_id": "7b5c3cc",
    "created_at": "2012-06-28T03:44:20-07:00",
    "parent_ids": [
      "4ad91d3c1144c406e50c7b33bae684bd6837faf8"
    ],
    "title": "add projects API",
    "message": "add projects API",
    "author_name": "John Smith",
    "author_email": "john@example.com",
    "authored_date": "2012-06-27T05:51:39-07:00",
    "committer_name": "John Smith",
    "committer_email": "john@example.com",
    "committed_date": "2012-06-28T03:44:20-07:00",
    "trailers": {},
    "extended_trailers": {},
    "web_url": "https://gitlab.example.com/my-group/my-project/-/commit/7b5c3cc8be40ee161ae89a06bba6229da1032a0c"
  },
  "name": "newbranch",
  "merged": false,
  "protected": false,
  "default": false,
  "developers_can_push": false,
  "developers_can_merge": false,
  "can_push": true,
  "web_url": "https://gitlab.example.com/my-group/my-project/-/tree/newbranch"
}

저장소 브랜치 삭제#

저장소에서 지정된 브랜치를 삭제합니다.

Note

오류의 경우 설명 메시지가 제공됩니다.

DELETE /projects/:id/repository/branches/:branch

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL-인코딩된 경로.
branch 문자열 브랜치의 URL-인코딩된 이름. 기본 브랜치 또는 보호 브랜치는 삭제할 수 없습니다.

성공 시 204 No Content를 반환합니다.

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/branches/newbranch"
Note

브랜치를 삭제해도 관련된 모든 데이터가 완전히 삭제되지는 않습니다. 일부 정보는 프로젝트 히스토리를 유지하고 복구 프로세스를 지원하기 위해 유지됩니다. 자세한 내용은 민감한 정보 처리를 참조하세요.

머지된 모든 브랜치 삭제#

프로젝트의 기본 브랜치에 머지된 모든 브랜치를 삭제합니다.

Note

보호 브랜치는 이 작업의 일부로 삭제되지 않습니다.

DELETE /projects/:id/repository/merged_branches

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL-인코딩된 경로.

성공 시 202 Accepted를 반환합니다.

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/merged_branches"

관련 항목#

브랜치 API

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

이 API를 사용하여 Git 브랜치를 관리합니다. 프로젝트에 구성된 브랜치 보호를 변경하려면 보호 브랜치 API를 사용하세요. 프로젝트의 모든 저장소 브랜치를 알파벳순으로 정렬하여 나열합니다. 이 엔드포인트는 저장소가 공개적으로 접근 가능한 경우 인증 없이 접근할 수 있습니다.

이 API를 사용하여 Git 브랜치를 관리합니다.

프로젝트에 구성된 브랜치 보호를 변경하려면 보호 브랜치 API를 사용하세요.

모든 저장소 브랜치 나열#

프로젝트의 모든 저장소 브랜치를 알파벳순으로 정렬하여 나열합니다. 이름으로 검색하거나, 정규 표현식을 사용하여 특정 브랜치 패턴을 찾습니다. 보호 상태, 머지 상태, 커밋 세부 정보를 포함한 브랜치에 대한 자세한 정보를 반환합니다.

Note

이 엔드포인트는 저장소가 공개적으로 접근 가능한 경우 인증 없이 접근할 수 있습니다.

GET /projects/:id/repository/branches

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL-인코딩된 경로.
regex 문자열 아니요 re2 정규 표현식과 일치하는 이름의 브랜치 목록을 반환합니다. search와 함께 사용할 수 없습니다.
search 문자열 아니요 검색 문자열이 포함된 브랜치 목록을 반환합니다. ^term을 사용하여 term으로 시작하는 브랜치를, term$을 사용하여 term으로 끝나는 브랜치를 찾을 수 있습니다.

성공 시 200 OK 및 다음 응답 속성을 반환합니다:

속성 유형 설명
can_push 부울 true이면 인증된 사용자가 이 브랜치에 푸시할 수 있습니다.
commit 객체 브랜치의 가장 최근 커밋에 대한 세부 정보.
commit.author_email 문자열 변경을 작성한 사용자의 이메일 주소.
commit.author_name 문자열 변경을 작성한 사용자의 이름.
commit.authored_date 날짜/시간 (ISO 8601) 커밋이 작성된 시간.
commit.committed_date 날짜/시간 (ISO 8601) 커밋이 커밋된 시간.
commit.committer_email 문자열 변경을 커밋한 사용자의 이메일 주소.
commit.committer_name 문자열 변경을 커밋한 사용자의 이름.
commit.created_at 날짜/시간 (ISO 8601) 커밋이 생성된 시간.
commit.extended_trailers 객체 커밋 메시지에서 파싱된 확장 Git 트레일러.
commit.id 문자열 커밋의 전체 SHA.
commit.message 문자열 전체 커밋 메시지.
commit.parent_ids 배열 부모 커밋 SHA 배열.
commit.short_id 문자열 커밋의 축약된 SHA.
commit.title 문자열 커밋 메시지의 제목.
commit.trailers 객체 커밋 메시지에서 파싱된 Git 트레일러.
commit.web_url 문자열 GitLab UI에서 커밋을 보기 위한 URL.
default 부울 true이면 브랜치가 프로젝트의 기본 브랜치입니다.
developers_can_merge 부울 true이면 Developer, Maintainer 또는 Owner 역할의 사용자가 이 브랜치에 머지할 수 있습니다.
developers_can_push 부울 true이면 Developer, Maintainer 또는 Owner 역할의 사용자가 이 브랜치에 푸시할 수 있습니다.
merged 부울 true이면 브랜치가 기본 브랜치에 머지되었습니다.
name 문자열 브랜치의 이름.
protected 부울 true이면 브랜치가 강제 푸시 및 삭제로부터 보호됩니다.
web_url 문자열 GitLab UI에서 브랜치를 보기 위한 URL.

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/branches"

응답 예시:

[
  {
    "name": "main",
    "merged": false,
    "protected": true,
    "default": true,
    "developers_can_push": false,
    "developers_can_merge": false,
    "can_push": true,
    "web_url": "https://gitlab.example.com/my-group/my-project/-/tree/main",
    "commit": {
      "id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c",
      "short_id": "7b5c3cc",
      "created_at": "2024-06-28T03:44:20-07:00",
      "parent_ids": [
        "4ad91d3c1144c406e50c7b33bae684bd6837faf8"
      ],
      "title": "add projects API",
      "message": "add projects API",
      "author_name": "John Smith",
      "author_email": "john@example.com",
      "authored_date": "2024-06-27T05:51:39-07:00",
      "committer_name": "John Smith",
      "committer_email": "john@example.com",
      "committed_date": "2024-06-28T03:44:20-07:00",
      "trailers": {},
      "extended_trailers": {},
      "web_url": "https://gitlab.example.com/my-group/my-project/-/commit/7b5c3cc8be40ee161ae89a06bba6229da1032a0c"
    }
  },
  ...
]

저장소 브랜치 조회#

지정된 프로젝트 저장소 브랜치를 조회합니다.

Note

이 엔드포인트는 저장소가 공개적으로 접근 가능한 경우 인증 없이 접근할 수 있습니다.

GET /projects/:id/repository/branches/:branch

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL-인코딩된 경로.
branch 문자열 브랜치의 URL-인코딩된 이름.

성공 시 200 OK 및 다음 응답 속성을 반환합니다:

속성 유형 설명
can_push 부울 인증된 사용자가 이 브랜치에 푸시할 수 있는지 여부.
commit 객체 브랜치의 최신 커밋에 대한 세부 정보.
commit.author_email 문자열 커밋 작성자의 이메일 주소.
commit.author_name 문자열 커밋 작성자의 이름.
commit.authored_date 문자열 커밋이 작성된 날짜/시간 (ISO 8601 형식).
commit.committer_email 문자열 변경을 커밋한 사용자의 이메일 주소.
commit.committer_name 문자열 변경을 커밋한 사용자의 이름.
commit.committed_date 문자열 커밋이 커밋된 날짜/시간 (ISO 8601 형식).
commit.created_at 문자열 커밋이 생성된 날짜/시간 (ISO 8601 형식).
commit.extended_trailers 객체 커밋 메시지에서 파싱된 확장 Git 트레일러.
commit.id 문자열 커밋의 전체 SHA.
commit.message 문자열 전체 커밋 메시지.
commit.parent_ids 배열 부모 커밋 SHA 배열.
commit.short_id 문자열 커밋의 축약된 SHA.
commit.title 문자열 커밋 메시지의 제목.
commit.trailers 객체 커밋 메시지에서 파싱된 Git 트레일러.
commit.web_url 문자열 GitLab UI에서 커밋을 보기 위한 URL.
default 부울 프로젝트의 기본 브랜치인지 여부.
developers_can_merge 부울 Developer 역할의 사용자가 이 브랜치에 머지할 수 있는지 여부.
developers_can_push 부울 Developer 역할의 사용자가 이 브랜치에 푸시할 수 있는지 여부.
merged 부울 브랜치가 기본 브랜치에 머지되었는지 여부.
name 문자열 브랜치의 이름.
protected 부울 브랜치가 강제 푸시 및 삭제로부터 보호되는지 여부.
web_url 문자열 GitLab UI에서 브랜치를 보기 위한 URL.

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/branches/main"

응답 예시:

{
  "name": "main",
  "merged": false,
  "protected": true,
  "default": true,
  "developers_can_push": false,
  "developers_can_merge": false,
  "can_push": true,
  "web_url": "https://gitlab.example.com/my-group/my-project/-/tree/main",
  "commit": {
    "id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c",
    "short_id": "7b5c3cc",
    "created_at": "2012-06-28T03:44:20-07:00",
    "parent_ids": [
      "4ad91d3c1144c406e50c7b33bae684bd6837faf8"
    ],
    "title": "add projects API",
    "message": "add projects API",
    "author_name": "John Smith",
    "author_email": "john@example.com",
    "authored_date": "2012-06-27T05:51:39-07:00",
    "committer_name": "John Smith",
    "committer_email": "john@example.com",
    "committed_date": "2012-06-28T03:44:20-07:00",
    "trailers": {},
    "extended_trailers": {},
    "web_url": "https://gitlab.example.com/my-group/my-project/-/commit/7b5c3cc8be40ee161ae89a06bba6229da1032a0c"
  }
}

저장소 브랜치 보호#

저장소 브랜치 보호에 대한 정보는 POST /projects/:id/protected_branches를 참조하세요.

저장소 브랜치 보호 해제#

저장소 브랜치 보호 해제에 대한 정보는 DELETE /projects/:id/protected_branches/:name을 참조하세요.

저장소 브랜치 생성#

저장소에 새 브랜치를 생성합니다.

POST /projects/:id/repository/branches

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL-인코딩된 경로.
branch 문자열 브랜치의 이름. 하이픈 및 밑줄을 제외한 공백이나 특수 문자를 포함할 수 없습니다.
ref 문자열 브랜치를 생성할 브랜치 이름 또는 커밋 SHA.

성공 시 201 Created 및 다음 응답 속성을 반환합니다:

속성 유형 설명
can_push 부울 true이면 인증된 사용자가 이 브랜치에 푸시할 수 있습니다.
commit 객체 브랜치의 최신 커밋에 대한 세부 정보.
commit.author_email 문자열 커밋 작성자의 이메일 주소.
commit.author_name 문자열 커밋 작성자의 이름.
commit.authored_date 문자열 커밋이 작성된 날짜/시간 (ISO 8601 형식).
commit.committed_date 문자열 커밋이 커밋된 날짜/시간 (ISO 8601 형식).
commit.committer_email 문자열 변경을 커밋한 사용자의 이메일 주소.
commit.committer_name 문자열 변경을 커밋한 사용자의 이름.
commit.created_at 문자열 커밋이 생성된 날짜/시간 (ISO 8601 형식).
commit.extended_trailers 객체 커밋 메시지에서 파싱된 확장 Git 트레일러.
commit.id 문자열 커밋의 전체 SHA.
commit.message 문자열 전체 커밋 메시지.
commit.parent_ids 배열 부모 커밋 SHA 배열.
commit.short_id 문자열 커밋의 축약된 SHA.
commit.title 문자열 커밋 메시지의 제목.
commit.trailers 객체 커밋 메시지에서 파싱된 Git 트레일러.
commit.web_url 문자열 GitLab UI에서 커밋을 보기 위한 URL.
default 부울 true이면 프로젝트의 기본 브랜치로 설정됩니다.
developers_can_merge 부울 true이면 Developer 역할의 사용자가 이 브랜치에 머지할 수 있습니다.
developers_can_push 부울 true이면 Developer 역할의 사용자가 이 브랜치에 푸시할 수 있습니다.
merged 부울 true이면 브랜치가 기본 브랜치에 머지되었습니다.
name 문자열 브랜치의 이름.
protected 부울 true이면 브랜치가 강제 푸시 및 삭제로부터 보호됩니다.
web_url 문자열 GitLab UI에서 브랜치를 보기 위한 URL.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/branches?branch=newbranch&ref=main"

응답 예시:

{
  "commit": {
    "id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c",
    "short_id": "7b5c3cc",
    "created_at": "2012-06-28T03:44:20-07:00",
    "parent_ids": [
      "4ad91d3c1144c406e50c7b33bae684bd6837faf8"
    ],
    "title": "add projects API",
    "message": "add projects API",
    "author_name": "John Smith",
    "author_email": "john@example.com",
    "authored_date": "2012-06-27T05:51:39-07:00",
    "committer_name": "John Smith",
    "committer_email": "john@example.com",
    "committed_date": "2012-06-28T03:44:20-07:00",
    "trailers": {},
    "extended_trailers": {},
    "web_url": "https://gitlab.example.com/my-group/my-project/-/commit/7b5c3cc8be40ee161ae89a06bba6229da1032a0c"
  },
  "name": "newbranch",
  "merged": false,
  "protected": false,
  "default": false,
  "developers_can_push": false,
  "developers_can_merge": false,
  "can_push": true,
  "web_url": "https://gitlab.example.com/my-group/my-project/-/tree/newbranch"
}

저장소 브랜치 삭제#

저장소에서 지정된 브랜치를 삭제합니다.

Note

오류의 경우 설명 메시지가 제공됩니다.

DELETE /projects/:id/repository/branches/:branch

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL-인코딩된 경로.
branch 문자열 브랜치의 URL-인코딩된 이름. 기본 브랜치 또는 보호 브랜치는 삭제할 수 없습니다.

성공 시 204 No Content를 반환합니다.

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/branches/newbranch"
Note

브랜치를 삭제해도 관련된 모든 데이터가 완전히 삭제되지는 않습니다. 일부 정보는 프로젝트 히스토리를 유지하고 복구 프로세스를 지원하기 위해 유지됩니다. 자세한 내용은 민감한 정보 처리를 참조하세요.

머지된 모든 브랜치 삭제#

프로젝트의 기본 브랜치에 머지된 모든 브랜치를 삭제합니다.

Note

보호 브랜치는 이 작업의 일부로 삭제되지 않습니다.

DELETE /projects/:id/repository/merged_branches

지원되는 속성:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL-인코딩된 경로.

성공 시 202 Accepted를 반환합니다.

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/merged_branches"

관련 항목#