diff --git a/app/assets/javascripts/search/sidebar/components/app.vue b/app/assets/javascripts/search/sidebar/components/app.vue
index a2e857dc5e412b362c482609b9ecfeff5da628f2..532a66affd8406e79acbac17565bd2be5c08bb63 100644
--- a/app/assets/javascripts/search/sidebar/components/app.vue
+++ b/app/assets/javascripts/search/sidebar/components/app.vue
@@ -14,6 +14,7 @@ import {
   SCOPE_BLOB,
   SCOPE_PROJECTS,
   SCOPE_NOTES,
+  SCOPE_COMMITS,
   SEARCH_TYPE_ADVANCED,
 } from '../constants';
 import IssuesFilters from './issues_filters.vue';
@@ -21,6 +22,7 @@ import MergeRequestsFilters from './merge_requests_filters.vue';
 import BlobsFilters from './blobs_filters.vue';
 import ProjectsFilters from './projects_filters.vue';
 import NotesFilters from './notes_filters.vue';
+import CommitsFilters from './commits_filters.vue';
 
 export default {
   name: 'GlobalSearchSidebar',
@@ -35,6 +37,7 @@ export default {
     SidebarPortal,
     DomElementListener,
     SmallScreenDrawerNavigation,
+    CommitsFilters,
   },
   mixins: [glFeatureFlagsMixin()],
   computed: {
@@ -51,7 +54,6 @@ export default {
       return this.currentScope === SCOPE_BLOB && this.searchType === SEARCH_TYPE_ADVANCED;
     },
     showProjectsFilters() {
-      // for now the feature flag is here. Since we have only one filter in projects scope
       return this.currentScope === SCOPE_PROJECTS;
     },
     showNotesFilters() {
@@ -61,6 +63,14 @@ export default {
         this.glFeatures.searchNotesHideArchivedProjects
       );
     },
+    showCommitsFilters() {
+      // for now, the feature flag is placed here. Since we have only one filter in commits scope
+      return (
+        this.currentScope === SCOPE_COMMITS &&
+        this.searchType === SEARCH_TYPE_ADVANCED &&
+        this.glFeatures.searchCommitsHideArchivedProjects
+      );
+    },
     showScopeNavigation() {
       // showScopeNavigation refers to whether the scope navigation should be shown
       // while the legacy navigation is being used and there are no search results
@@ -86,6 +96,7 @@ export default {
       <blobs-filters v-if="showBlobFilters" />
       <projects-filters v-if="showProjectsFilters" />
       <notes-filters v-if="showNotesFilters" />
+      <commits-filters v-if="showCommitsFilters" />
     </sidebar-portal>
   </section>
 
@@ -100,6 +111,7 @@ export default {
       <blobs-filters v-if="showBlobFilters" />
       <projects-filters v-if="showProjectsFilters" />
       <notes-filters v-if="showNotesFilters" />
+      <commits-filters v-if="showCommitsFilters" />
     </div>
     <small-screen-drawer-navigation class="gl-lg-display-none">
       <scope-legacy-navigation />
@@ -108,6 +120,7 @@ export default {
       <blobs-filters v-if="showBlobFilters" />
       <projects-filters v-if="showProjectsFilters" />
       <notes-filters v-if="showNotesFilters" />
+      <commits-filters v-if="showCommitsFilters" />
     </small-screen-drawer-navigation>
   </section>
 </template>
diff --git a/app/assets/javascripts/search/sidebar/components/archived_filter/data.js b/app/assets/javascripts/search/sidebar/components/archived_filter/data.js
index de73ca57adb382f629befe3b4feafe4d98d9b153..5cddf5e744f8ce8a1331f377db89141d2ad04181 100644
--- a/app/assets/javascripts/search/sidebar/components/archived_filter/data.js
+++ b/app/assets/javascripts/search/sidebar/components/archived_filter/data.js
@@ -11,6 +11,7 @@ const scopes = {
   MERGE_REQUESTS: 'merge_requests',
   NOTES: 'notes',
   BLOBS: 'blobs',
+  COMMITS: 'commits',
 };
 
 const filterParam = 'include_archived';
diff --git a/app/assets/javascripts/search/sidebar/components/commits_filters.vue b/app/assets/javascripts/search/sidebar/components/commits_filters.vue
new file mode 100644
index 0000000000000000000000000000000000000000..4f9fdbe955170c47b0a1298fb3e1793fea5b808a
--- /dev/null
+++ b/app/assets/javascripts/search/sidebar/components/commits_filters.vue
@@ -0,0 +1,18 @@
+<script>
+import ArchivedFilter from './archived_filter/index.vue';
+import FiltersTemplate from './filters_template.vue';
+
+export default {
+  name: 'CommitsFilters',
+  components: {
+    ArchivedFilter,
+    FiltersTemplate,
+  },
+};
+</script>
+
+<template>
+  <filters-template>
+    <archived-filter class="gl-mb-5" />
+  </filters-template>
+</template>
diff --git a/app/assets/javascripts/search/sidebar/constants/index.js b/app/assets/javascripts/search/sidebar/constants/index.js
index e6808082185248ee75447d85294ac137db034c19..19df875c292855bd6a2daf2bcb323a0562d845b2 100644
--- a/app/assets/javascripts/search/sidebar/constants/index.js
+++ b/app/assets/javascripts/search/sidebar/constants/index.js
@@ -3,6 +3,7 @@ export const SCOPE_MERGE_REQUESTS = 'merge_requests';
 export const SCOPE_BLOB = 'blobs';
 export const SCOPE_PROJECTS = 'projects';
 export const SCOPE_NOTES = 'notes';
+export const SCOPE_COMMITS = 'commits';
 export const LABEL_DEFAULT_CLASSES = [
   'gl-display-flex',
   'gl-flex-direction-row',
diff --git a/ee/app/controllers/ee/search_controller.rb b/ee/app/controllers/ee/search_controller.rb
index adc5a044ffd1adc728f5bcfa6988ee32d41db212..bb7fe85e0db165b8046fb32a24a99cf236e1d0e4 100644
--- a/ee/app/controllers/ee/search_controller.rb
+++ b/ee/app/controllers/ee/search_controller.rb
@@ -58,6 +58,10 @@ def search_rate_limited_endpoints
         push_frontend_feature_flag(:search_blobs_hide_archived_projects, current_user)
       end
 
+      before_action only: :show do
+        push_frontend_feature_flag(:search_commits_hide_archived_projects, current_user)
+      end
+
       after_action :run_index_integrity_worker, only: :show, if: :no_results_for_group_or_project_blobs_advanced_search?
     end
 
diff --git a/spec/frontend/search/sidebar/components/app_spec.js b/spec/frontend/search/sidebar/components/app_spec.js
index 72c9537bd613de92072662b309f25b82978be5e3..8e23f9c16800307ef94e54322149ecbd9d837071 100644
--- a/spec/frontend/search/sidebar/components/app_spec.js
+++ b/spec/frontend/search/sidebar/components/app_spec.js
@@ -15,6 +15,7 @@ import MergeRequestsFilters from '~/search/sidebar/components/merge_requests_fil
 import BlobsFilters from '~/search/sidebar/components/blobs_filters.vue';
 import ProjectsFilters from '~/search/sidebar/components/projects_filters.vue';
 import NotesFilters from '~/search/sidebar/components/notes_filters.vue';
+import CommitsFilters from '~/search/sidebar/components/commits_filters.vue';
 import ScopeLegacyNavigation from '~/search/sidebar/components/scope_legacy_navigation.vue';
 import SmallScreenDrawerNavigation from '~/search/sidebar/components/small_screen_drawer_navigation.vue';
 import ScopeSidebarNavigation from '~/search/sidebar/components/scope_sidebar_navigation.vue';
@@ -45,6 +46,7 @@ describe('GlobalSearchSidebar', () => {
       provide: {
         glFeatures: {
           searchNotesHideArchivedProjects: true,
+          searchCommitsHideArchivedProjects: true,
         },
       },
     });
@@ -56,6 +58,7 @@ describe('GlobalSearchSidebar', () => {
   const findBlobsFilters = () => wrapper.findComponent(BlobsFilters);
   const findProjectsFilters = () => wrapper.findComponent(ProjectsFilters);
   const findNotesFilters = () => wrapper.findComponent(NotesFilters);
+  const findCommitsFilters = () => wrapper.findComponent(CommitsFilters);
   const findScopeLegacyNavigation = () => wrapper.findComponent(ScopeLegacyNavigation);
   const findSmallScreenDrawerNavigation = () => wrapper.findComponent(SmallScreenDrawerNavigation);
   const findScopeSidebarNavigation = () => wrapper.findComponent(ScopeSidebarNavigation);
@@ -82,6 +85,8 @@ describe('GlobalSearchSidebar', () => {
       ${'blobs'}          | ${findBlobsFilters}         | ${SEARCH_TYPE_ZOEKT}    | ${false}
       ${'notes'}          | ${findNotesFilters}         | ${SEARCH_TYPE_BASIC}    | ${false}
       ${'notes'}          | ${findNotesFilters}         | ${SEARCH_TYPE_ADVANCED} | ${true}
+      ${'commits'}        | ${findCommitsFilters}       | ${SEARCH_TYPE_BASIC}    | ${false}
+      ${'commits'}        | ${findCommitsFilters}       | ${SEARCH_TYPE_ADVANCED} | ${true}
     `('with sidebar $scope scope:', ({ scope, filter, searchType, isShown }) => {
       beforeEach(() => {
         getterSpies.currentScope = jest.fn(() => scope);
diff --git a/spec/frontend/search/sidebar/components/commits_filters_spec.js b/spec/frontend/search/sidebar/components/commits_filters_spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..cb47c6833efb006e53baef477aaaeca3e1569d7b
--- /dev/null
+++ b/spec/frontend/search/sidebar/components/commits_filters_spec.js
@@ -0,0 +1,28 @@
+import { shallowMount } from '@vue/test-utils';
+import CommitsFilters from '~/search/sidebar/components/projects_filters.vue';
+import ArchivedFilter from '~/search/sidebar/components/archived_filter/index.vue';
+import FiltersTemplate from '~/search/sidebar/components/filters_template.vue';
+
+describe('GlobalSearch CommitsFilters', () => {
+  let wrapper;
+
+  const findArchivedFilter = () => wrapper.findComponent(ArchivedFilter);
+  const findFiltersTemplate = () => wrapper.findComponent(FiltersTemplate);
+
+  const createComponent = () => {
+    wrapper = shallowMount(CommitsFilters);
+  };
+
+  describe('Renders correctly', () => {
+    beforeEach(() => {
+      createComponent();
+    });
+    it('renders ArchivedFilter', () => {
+      expect(findArchivedFilter().exists()).toBe(true);
+    });
+
+    it('renders FiltersTemplate', () => {
+      expect(findFiltersTemplate().exists()).toBe(true);
+    });
+  });
+});