Linked Questions
14 questions linked to/from What is the file format of a git commit object data structure?
2
votes
0
answers
19
views
Unpacking a commit shows commit <number> which cat-file and log doesn't show [duplicate]
So for fun I've been learning a bit more about gits internals. I've noticed when I unpack commit objects they look like this: (With info redacted)
$ openssl zlib -d -in C:\Users\<project-folder>\...
363
votes
4
answers
144k
views
Difference between author and committer in Git?
I am trying to make a commit like
git commit --author="John Doe <[email protected]>" -m "<the usual commit message>"
where John Doe is some user in whose name I want to make the commit.
It ...
92
votes
22
answers
81k
views
How to DEFLATE with a command line tool to extract a git object?
I'm looking for a command line wrapper for the DEFLATE algorithm.
I have a file (git blob) that is compressed using DEFLATE, and I want to uncompress it. The gzip command does not seem to have an ...
144
votes
13
answers
25k
views
How to assign a Git SHA1's to a file without Git?
As I understand it when Git assigns a SHA1 hash to a file this SHA1 is unique to the file based on its contents.
As a result if a file moves from one repository to another the SHA1 for the file ...
242
votes
7
answers
104k
views
What does the git index contain EXACTLY?
What does the Git index exactly contain, and what command can I use to view the content of the index?
Thanks for all your answers. I know that the index acts as a staging area, and what is committed ...
144
votes
9
answers
58k
views
Does Git publicly expose my e-mail address?
The guides I've read so far on Git say that I should go into the config and specify my name and my e-mail address. They don't elaborate; they just say to do it.
Why does Git need my e-mail address? ...
143
votes
7
answers
53k
views
How does Git compute file hashes?
The SHA1 hashes stored in the tree objects (as returned by git ls-tree) do not match the SHA1 hashes of the file content (as returned by sha1sum):
$ git cat-file blob ...
46
votes
7
answers
19k
views
git commit - setting timestamps into the future
I need to make some commits using Git but I would like the timestamp in git-log to be in the future.
How can I do a commit in git that causes a future timestamp to register in the git-log?
59
votes
5
answers
24k
views
What is the internal format of a Git tree object?
What is the format of a Git tree object's content?
The content of a blob object is blob [size of string] NUL [string], but what is it for a tree object?
25
votes
3
answers
23k
views
Who is the user with the longest streak on GitHub? [closed]
Does anybody know how to find a list of the users with longest Github streaks ever?
6
votes
3
answers
4k
views
Where are tree hashes stored in git?
I am following this tutorial (https://jwiegley.github.io/git-from-the-bottom-up/1-Repository/3-blobs-are-stored-in-trees.html) to learn about git architecture.
The command
$ git cat-file commit HEAD
...
4
votes
4
answers
3k
views
What is the format of a git tag object and how to calculate its SHA?
I am familiar with how Git creates SHA1 hashes for files (blobs), but not how they are created for tag objects. I assume they are, if I create an annotated tag, but what is the recipe? And how might I ...
7
votes
2
answers
8k
views
Can I hide commits' time when I push to GitHub?
As the title says: I'd like all commits I push to GitHub to appear with the timestamp of the push rather than of the commit, in the GitHub's commits tab.
I use quite a standard workflow:
<do some ...
4
votes
3
answers
1k
views
What information is stored as each git commit's tree object content
Each Git commit object points to a tree object. Does every commit-tree object store all its entries with it or does it only add new entries and only contain deltas from commit's parent?
e.g. Linux ...