You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md
+5-51Lines changed: 5 additions & 51 deletions
Original file line number
Diff line number
Diff line change
@@ -20,9 +20,9 @@ shortTitle: Remove sensitive data
20
20
21
21
## About removing sensitive data from a repository
22
22
23
-
When altering your repository's history using tools like `git filter-repo` or the BFG Repo-Cleaner, it's crucial to understand the implications, especially regarding open pull requests and sensitive data.
23
+
When altering your repository's history using tools like `git filter-repo`, it's crucial to understand the implications, especially regarding open pull requests and sensitive data.
24
24
25
-
The `git filter-repo` tool and the BFG Repo-Cleaner rewrite your repository's history, which changes the SHAs for existing commits that you alter and any dependent commits. Changed commit SHAs may affect open pull requests in your repository. We recommend merging or closing all open pull requests before removing files from your repository.
25
+
The `git filter-repo` tool rewrites your repository's history, which changes the SHAs for existing commits that you alter and any dependent commits. Changed commit SHAs may affect open pull requests in your repository. We recommend merging or closing all open pull requests before removing files from your repository.
26
26
27
27
You can remove the file from the latest commit with `git rm`. For information on removing a file that was added with the latest commit, see "[AUTOTITLE](/repositories/working-with-files/managing-large-files/about-large-files-on-github#removing-files-from-a-repositorys-history)."
28
28
@@ -48,37 +48,7 @@ If the commit that introduced the sensitive data exists in any forks, it will co
48
48
49
49
Consider these limitations and challenges in your decision to rewrite your repository's history.
50
50
51
-
## Purging a file from your repository's history
52
-
53
-
You can purge a file from your repository's history using either the `git filter-repo` tool or the BFG Repo-Cleaner open source tool.
54
-
55
-
> [!NOTE] If sensitive data is located in a file that's identified as a binary file, you'll need to remove the file from the history, as you can't modify it to remove or replace the data.
56
-
57
-
### Using the BFG
58
-
59
-
The [BFG Repo-Cleaner](https://rtyley.github.io/bfg-repo-cleaner/) is a tool that's built and maintained by the open source community. It provides a faster, simpler alternative to `git filter-repo` for removing unwanted data.
60
-
61
-
For example, to remove your file with sensitive data and leave your latest commit untouched, run:
62
-
63
-
```shell
64
-
bfg --delete-files YOUR-FILE-WITH-SENSITIVE-DATA
65
-
```
66
-
67
-
To replace all text listed in `passwords.txt` wherever it can be found in your repository's history, run:
68
-
69
-
```shell
70
-
bfg --replace-text passwords.txt
71
-
```
72
-
73
-
After the sensitive data is removed, you must force push your changes to {% data variables.product.product_name %}. Force pushing rewrites the repository history, which removes sensitive data from the commit history. If you force push, it may overwrite commits that other people have based their work on.
74
-
75
-
```shell
76
-
git push --force
77
-
```
78
-
79
-
See the [BFG Repo-Cleaner](https://rtyley.github.io/bfg-repo-cleaner/)'s documentation for full usage and download instructions.
80
-
81
-
### Using git filter-repo
51
+
## Purging a file from your repository's history using git-filter-repo
82
52
83
53
> [!WARNING] If you run `git filter-repo` after stashing changes, you won't be able to retrieve your changes with other stash commands. Before running `git filter-repo`, we recommend unstashing any changes you've made. To unstash the last set of changes you've stashed, run `git stash show -p | git apply -R`. For more information, see [Git Tools - Stashing and Cleaning](https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning).
84
54
@@ -178,7 +148,7 @@ To illustrate how `git filter-repo` works, we'll show you how to remove your fil
178
148
179
149
## Fully removing the data from {% data variables.product.prodname_dotcom %}
180
150
181
-
After using either the BFG tool or `git filter-repo` to remove the sensitive data and pushing your changes to {% data variables.product.product_name %}, you must take a few more steps to fully remove the data from {% data variables.product.product_name %}.
151
+
After using `git filter-repo` to remove the sensitive data and pushing your changes to {% data variables.product.product_name %}, you must take a few more steps to fully remove the data from {% data variables.product.product_name %}.
182
152
183
153
{% ifversion ghec %}
184
154
1. If the repository was migrated using the {% data variables.product.prodname_importer_proper_name %}, there may be some non-standard Git references that follow the pattern `refs/github-services`, that neither the BFG tool or `git filter-repo` can remove. In this case, remove those references running the following commands in your local copy of the repository:
@@ -205,22 +175,6 @@ After using either the BFG tool or `git filter-repo` to remove the sensitive dat
205
175
206
176
1. Tell your collaborators to [rebase](https://git-scm.com/book/en/v2/Git-Branching-Rebasing), _not_ merge, any branches they created off of your old (tainted) repository history. One merge commit could reintroduce some or all of the tainted history that you just went to the trouble of purging.
207
177
208
-
1. If you used `git filter-repo`, you can skip this step.
209
-
210
-
If you used the BFG tool, after rewriting, you can clean up references in your local repository to the old history to be dereferenced and garbage collected with the following commands (using Git 1.8.5 or newer):
211
-
212
-
```shell
213
-
$ git reflog expire --expire=now --all
214
-
$ git gc --prune=now
215
-
> Counting objects: 2437, done.
216
-
> Delta compression using up to 4 threads.
217
-
> Compressing objects: 100% (1378/1378), done.
218
-
> Writing objects: 100% (2437/2437), done.
219
-
> Total 2437 (delta 1461), reused 1802 (delta 1048)
220
-
```
221
-
222
-
> [!NOTE] You can also achieve this by pushing your filtered history to a new or empty repository and then making a fresh clone from {% data variables.product.product_name %}.
223
-
224
178
{% ifversion ghes %}
225
179
226
180
## Identifying reachable commits
@@ -245,7 +199,7 @@ If references are found in any forks, the results will look similar, but will st
245
199
ghe-nwo NWO
246
200
```
247
201
248
-
The same procedure using the BFG tool or `git filter-repo` can be used to remove the sensitive data from the repository's forks. Alternatively, the forks can be deleted altogether, and if needed, the repository can be re-forked once the cleanup of the root repository is complete.
202
+
The same procedure using `git filter-repo` can be used to remove the sensitive data from the repository's forks. Alternatively, the forks can be deleted altogether, and if needed, the repository can be re-forked once the cleanup of the root repository is complete.
249
203
250
204
Once you have removed the commit's references, re-run the commands to double-check.
Copy file name to clipboardExpand all lines: content/code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -105,7 +105,7 @@ To ensure that all code is properly reviewed prior to being merged into the defa
105
105
106
106
## Mitigate data leaks
107
107
108
-
If a user pushes sensitive data, ask them to remove it by using the `git filter-repo` tool or the BFG Repo-Cleaner open source tool. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)." Also, it is possible to revert almost anything in Git. For more information, see [{% data variables.product.prodname_blog %}](https://github.blog/2015-06-08-how-to-undo-almost-anything-with-git/).
108
+
If a user pushes sensitive data, ask them to remove it by using the `git filter-repo` tool. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)." Also, it is possible to revert almost anything in Git. For more information, see [{% data variables.product.prodname_blog %}](https://github.blog/2015-06-08-how-to-undo-almost-anything-with-git/).
109
109
110
110
At the organization level, if you're unable to coordinate with the user who pushed the sensitive data to remove it, we recommend you contact {% data variables.contact.contact_support %} with the concerning commit SHA.
Copy file name to clipboardExpand all lines: content/code-security/secret-scanning/introduction/about-secret-scanning.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ Below is a typical workflow that explains how {% data variables.product.prodname
56
56
57
57
***Remediation:** You then need to take appropriate actions to remediate the exposure. This might include:
58
58
* Rotating the affected credential to ensure it is no longer usable.
59
-
* Removing the secret from the repository's history (using tools like BFG Repo-Cleaner or {% data variables.product.prodname_dotcom %}'s built-in features).
59
+
* Removing the secret from the repository's history (using tools like `git-filter-repo` or {% data variables.product.prodname_dotcom %}'s built-in features).
60
60
61
61
***Monitoring:** It's good practice to regularly audit and monitor your repositories to ensure no other secrets are exposed.
Copy file name to clipboardExpand all lines: content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning.md
-4Lines changed: 0 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -138,12 +138,8 @@ After your pattern is created, {% data variables.product.prodname_secret_scannin
138
138
Before defining a custom pattern, you must ensure that you enable secret scanning for your enterprise account. For more information, see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise]({% ifversion fpt or ghec %}/enterprise-server@latest/{% endif %}/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)."
139
139
140
140
> [!NOTE]
141
-
{% ifversion custom-pattern-dry-run-ga %}
142
141
> * At the enterprise level, only the creator of a custom pattern can edit the pattern, and use it in a dry run.
143
142
> * {% data reusables.secret-scanning.dry-runs-enterprise-permissions %}
144
-
{% else %}
145
-
> As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire enterprise. That way, you can avoid creating excess false-positive {% data variables.secret-scanning.alerts %}.
146
-
{% endif %}
147
143
148
144
{% data reusables.enterprise-accounts.access-enterprise %}
149
145
{% data reusables.enterprise-accounts.policies-tab %}{% ifversion security-feature-enablement-policies %}
Copy file name to clipboardExpand all lines: content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise.md
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -88,6 +88,10 @@ By default, {% data variables.product.prodname_copilot_chat_short %} uses the `G
88
88
*`o1-preview`: This model is focused on advanced reasoning and solving complex problems, in particular in math and science. It responds more slowly than the `gpt-4o` model. Each member of your enterprise can make 10 requests to this model per day.
89
89
*`o1-mini`: This is the faster version of the `o1-preview` model, balancing the use of complex reasoning with the need for faster responses. It is best suited for code generation and small context operations. Each member of your enterprise can make 50 requests to this model per day.
90
90
91
+
### {% data variables.product.prodname_copilot_short %} Metrics API access
92
+
93
+
Enable this policy to allow users to use the {% data variables.product.prodname_copilot_short %} Metrics API. See "[AUTOTITLE](/rest/copilot/copilot-metrics)."
94
+
91
95
## Configuring policies for {% data variables.product.prodname_copilot %}
92
96
93
97
{% data reusables.enterprise-accounts.access-enterprise %}
0 commit comments