GIT
Git notes:
- - Pointers for all branches are located in .git/refs/heads
- Head is reference to the currently checked out branch or commit. Pointer is located in .git/HEAD file
- Change branch "git checkout <branch>"
$git log
commit 135074045cff79237adf80592223698d9c3c8069 (HEAD -> master)
Author: default user
Date: Sun Apr 11 11:21:06 2021 +0200
3rd commit
commit 04b13cf07ef265ad4354bb09b4c20c9e49b922b0
Author: default user
Date: Sun Apr 11 11:20:04 2021 +0200
2nd commit
commit 02d43df3a2e1889788d454dcf1f73fc58659982b
Author: default user
Date: Sun Apr 11 11:19:29 2021 +0200
first commit
At first, the head is at the last commit (3rd commit)
$cat .git/HEAD
135074045cff79237adf80592223698d9c3c8069
Now checkout the 2nd commit:
$git checkout 04V13
Then we check that the head is pointing on the 2nd commit (04b13)
$cat .git/HEAD
04b13cf07ef265ad4354bb09b4c20c9e49b922b0
2. Creating branches:
\W $git branch temp
$git branch
* (HEAD detached at 1350740)
master
temp
$ls .git/refs/heads
master temp
check that the head is at the last commit. When the branch is created, it points to the same commit as the master (3rd commit)
$cat .git/refs/heads/temp
135074045cff79237adf80592223698d9c3c8069
When we checkout a branch, the head point on the branch instead of on the master.
$git checkout temp
Switched to branch 'temp'
$cat .git/HEAD
ref: refs/heads/temp
Rename the branch temp to new-temp
$git branch -m temp new-temp
Delete the new-temp branch:
$git branch -d new-temp
Deleted branch new-temp (was 1350740).
$git branch
* master
Create a new branch and checkout it with one command. Create a file4.txt and commit the changes
$git checkout -b BR-1
Switched to a new branch 'BR-1'
$echo "Hello, git" > file4.txt
$git commit -m "First commit in BR-1"
[BR-1 446e83f] First commit in BR-1
1 file changed, 1 insertion(+)
create mode 100644 file4.txt
Get the details of the commit on the branch BR-1. The parent of the commit is the "3rd commit" from where we have created the branch BR-1
$git cat-file -p 446e8
tree 49c1a15f802ef08d24c5a58b24dd4e22a5f65286
parent 135074045cff79237adf80592223698d9c3c8069
author default user 1618166341 +0200
committer default user 1618166341 +0200
Merging branches:
List of files with number 0 if no conflicts and same file with num 1 2 3 displayed three times. The file in master after the merge is the combination of these 3 files
git ls-files -s
Add a comment