An error occurred while fetching commit data
- SQL 쿼리를 사용하여 프로젝트 찾기
- 프로젝트나 리포지터리의 캐시 지우기
- 삭제 대기 중인 프로젝트 찾기
- 콘솔을 사용하여 프로젝트 삭제
- 그룹 내 모든 프로젝트에 대한 기능 토글
프로젝트 문제 해결
프로젝트 작업 중 다음과 같은 문제가 발생할 수 있거나 특정 작업을 완료하기 위해 대체 방법이 필요할 수 있습니다.
An error occurred while fetching commit data
프로젝트를 방문할 때 브라우저에서 ‘커밋 데이터를 가져오는 중 오류가 발생했습니다’라는 메시지가 표시될 수 있습니다. 이는 브라우저에서 광고 차단기를 사용하는 경우 발생할 수 있습니다. 해결책은 해당 GitLab 인스턴스에 대한 광고 차단기를 비활성화하는 것입니다.
SQL 쿼리를 사용하여 프로젝트 찾기
Rails 콘솔 세션에서 다음과 같이 SQL 쿼리를 기반으로 프로젝트를 찾고 배열로 저장할 수 있습니다:
# '%ject'로 끝나는 프로젝트 찾기
projects = Project.find_by_sql("SELECT * FROM projects WHERE name LIKE '%ject'")
=> [#<Project id:12 root/my-first-project>>, #<Project id:13 root/my-second-project>>]
프로젝트나 리포지터리의 캐시 지우기
프로젝트나 리포지터리가 업데이트되었지만 상태가 UI에 반영되지 않는 경우, 프로젝트나 리포지터리의 캐시를 지워야 할 수 있습니다. 이를 위해 Rails 콘솔 세션과 다음 중 하나를 사용할 수 있습니다:
## 프로젝트 캐시 지우기
ProjectCacheWorker.perform_async(project.id)
## 리포지터리 .exists? 캐시 지우기
project.repository.expire_exists_cache
삭제 대기 중인 프로젝트 찾기
삭제가 표시된 프로젝트를 모두 찾아야 하지만 아직 삭제되지 않은 경우, Rails 콘솔 세션을 시작하고 다음을 실행하세요:
projects = Project.where(pending_delete: true)
projects.each do |p|
puts "프로젝트 ID: #{p.id}"
puts "프로젝트 이름: #{p.name}"
puts "리포지터리 경로: #{p.repository.full_path}"
end
콘솔을 사용하여 프로젝트 삭제
프로젝트를 삭제할 수 없는 경우, Rails 콘솔을 사용하여 삭제를 시도할 수 있습니다.
project = Project.find_by_full_path('<프로젝트_경로>')
user = User.find_by_username('<사용자_이름>')
ProjectDestroyWorker.new.perform(project.id, user.id, {})
이 작업이 실패하는 경우, 다음과 같이 왜 작동하지 않는지 표시하세요:
project = Project.find_by_full_path('<프로젝트_경로>')
project.delete_error
그룹 내 모든 프로젝트에 대한 기능 토글
프로젝트에서 특정 기능을 토글하는 것은 프로젝트 API를 통해 수행할 수 있지만, 대량의 프로젝트에 대해 이 작업을 수행해야 할 수 있습니다.
특정 기능을 토글하려면 Rails 콘솔 세션을 시작하고 다음 함수를 실행하세요:
projects = Group.find_by_name('_그룹_이름').projects
projects.each do |p|
## 모든 인스턴스에서 적절한 기능 이름으로 대체하세요
state = p.<기능_이름>
if state != 0
puts "#{p.name}에는 <기능_이름>이(가) 이미 활성화되어 있습니다. 건너뛰는 중..."
else
puts "#{p.name}에는 <기능_이름>이(가) 활성화되어 있지 않습니다. 활성화 중..."
p.project_feature.update!(<기능_이름>: ProjectFeature::PRIVATE)
end
end
토글할 수 있는 기능을 찾으려면 pp p.project_feature
를 실행하세요.
사용 가능한 권한 수준은
concerns/featurable.rb에 나열되어 있습니다.