Alaa hussien
commited on
Commit
·
29ff184
1
Parent(s):
2868f31
readme file
Browse files
README.md
CHANGED
@@ -1 +1,41 @@
|
|
1 |
-
# Annotated
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# 1- Tagging in Git: Annotated Version vs Lightweight Version
|
2 |
+
|
3 |
+
## Overview
|
4 |
+
Tags in Git are used to mark specific points in history as being important. There are two types of tags: **Annotated Tags** and **Lightweight Tags**.
|
5 |
+
|
6 |
+
---
|
7 |
+
|
8 |
+
## Annotated Tags
|
9 |
+
- Store **extra meta data** such as:
|
10 |
+
- Tagger name
|
11 |
+
- Email
|
12 |
+
- Date
|
13 |
+
- Important for **public releases** as they provide additional context and information.
|
14 |
+
|
15 |
+
---
|
16 |
+
|
17 |
+
## Lightweight Tags
|
18 |
+
- Serve as **bookmarks** to a commit.
|
19 |
+
- Contain only a name and a pointer to a commit.
|
20 |
+
- Useful for creating quick links to relevant commits.
|
21 |
+
|
22 |
+
---
|
23 |
+
|
24 |
+
Use **Annotated Tags** when detailed information is required and **Lightweight Tags** for simple, fast references.
|
25 |
+
|
26 |
+
## 2- Rebase" VS "Merge"
|
27 |
+
Both Git rebase and Git merge are methods for integrating changes from one branch into another branch
|
28 |
+
|
29 |
+
The main difference is that rebasing overwrites a branch’s history while merging preserves the history of both branches.
|
30 |
+
|
31 |
+
# When should I use Git rebase and Merge?
|
32 |
+
**Merge** in public branches with team
|
33 |
+
|
34 |
+
**Rebase** in local, individual projects and is helpful for resolving conflicts one at a time
|
35 |
+
|
36 |
+
|
37 |
+
<p align="center">
|
38 |
+
<img src="git.png" width="350" title="hover text">
|
39 |
+
|
40 |
+
</p>
|
41 |
+
|
git.png
ADDED
![]() |