Code-dot-mil / Code-dot-mil/code.mil
Add FAQ item for git history and records retention
- Dominant language
- JavaScript
- Stars
- 1.3k
- Forks
- 144
- PR merge metrics
- No merged PRs in 30d
Description
This is the guidance coming out of #67 on FOIA, records retention, and git history rewrites. This language needs a little review, but I'm generally in favor of it.
@shawoods: can you review?
----
# A note on `git` features and rewriting history
The `git` program and hosted services such as GitHub include the ability for you to permanently delete parts of your project. They also allow you to "rewrite history" in that you may modify entries that have been previously published. Examples include:
* [Deleting a branch](https://git-scm.com/book/en/v2/Git-Branching-Branch-Management) that has not been merged into a surviving branch
* [Merging a branch](https://git-scm.com/docs/git-merge) using the `--squash` feature
* [Using `git push`](https://git-scm.com/docs/git-push) with the `--force` feature
Code.mil is aware of records keeping laws in [18 U.S.C. 2257](https://www.gpo.gov/fdsys/granule/USCODE-2011-title18/USCODE-2011-title18-partI-chap110-sec2257). We have not studied these laws nor are we aware of any case law that prescribes whether records keeping requirements pertain to portions of your `git` repository. Additionally, we do not know about YOUR agency's data backup systems. When you use the three deletion/rewriting abilities above the old file versions may still be persisted on your computer (see `git` [garbage collection](https://git-scm.com/docs/git-gc)) and captured by these data backup systems.
In summary, `git` is a powerful tool so make sure you understand it before you use it. Your agency may prescribe additional guidelines or restrictions for using `git`. However, code.mil has no advice to offer on setting such guidelines or restrictions.
Contributor guide
Assessment
This issue has not been assessed yet.