100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached 4.6 TrustPilot
logo-home
Exam (elaborations)

notes on GIT

Rating
-
Sold
-
Pages
195
Grade
A+
Uploaded on
01-08-2023
Written in
2023/2024

Git is a distributed version control system used for tracking changes in source code during software development. It allows multiple developers to work collaboratively on a project, keeping track of changes, managing versions, and coordinating their work seamlessly. Key features and concepts of Git include: Version Control: Git tracks changes made to files over time, enabling developers to view previous versions, revert changes, and compare different versions easily. Distributed: Unlike centralized version control systems, Git is distributed, which means each developer has a full copy of the entire project's history. This redundancy improves collaboration and allows work to continue even without a network connection. Repositories: Git stores project code and history in repositories. A repository can be hosted on a local machine or a remote server (e.g., GitHub, GitLab, Bitbucket). Commits: A commit represents a snapshot of changes made to the codebase. Each commit has a unique identifier and contains the author's information, timestamp, and a commit message describing the changes. Branches: Git allows developers to create branches, which are separate lines of development. Branches enable developers to work on features or fixes independently without affecting the main codebase. They can later be merged back into the main branch. Merging: Merging is the process of combining changes from one branch into another. Git automatically handles most merge conflicts, which occur when changes in different branches overlap or conflict. Remote repositories: Developers can push their local changes to a remote repository, making it available for others to pull and synchronize with their local copies. Remote repositories facilitate collaboration and backup. Pull Requests: Commonly used in collaborative projects, pull requests allow developers to propose changes to a repository hosted remotely. Other team members review the changes before merging them into the main branch.

Show more Read less

Content preview

Git
Git
Notes for Professionals
®




Notes for Professionals




100+ pages
of professional hints and tricks


Disclaimer
GoalKicker.com This is an unocial free book created for educational purposes and is
not aliated with ocial Git® group(s) or company(s).
Free Programming Books All trademarks and registered trademarks are
the property of their respective owners

,Contents
About ................................................................................................................................................................................... 1
Chapter 1: Getting started with Git ...................................................................................................................... 2
Section 1.1: Create your first repository, then add and commit files ........................................................................ 2
Section 1.2: Clone a repository ..................................................................................................................................... 4
Section 1.3: Sharing code .............................................................................................................................................. 4
Section 1.4: Setting your user name and email .......................................................................................................... 5
Section 1.5: Setting up the upstream remote .............................................................................................................. 6
Section 1.6: Learning about a command .................................................................................................................... 6
Section 1.7: Set up SSH for Git ...................................................................................................................................... 6
Section 1.8: Git Installation ............................................................................................................................................ 7
Chapter 2: Browsing the history ......................................................................................................................... 10
Section 2.1: "Regular" Git Log ..................................................................................................................................... 10
Section 2.2: Prettier log ............................................................................................................................................... 11
Section 2.3: Colorize Logs ........................................................................................................................................... 11
Section 2.4: Oneline log .............................................................................................................................................. 11
Section 2.5: Log search ............................................................................................................................................... 12
Section 2.6: List all contributions grouped by author name ................................................................................... 12
Section 2.7: Searching commit string in git log ........................................................................................................ 13
Section 2.8: Log for a range of lines within a file ..................................................................................................... 14
Section 2.9: Filter logs ................................................................................................................................................. 14
Section 2.10: Log with changes inline ........................................................................................................................ 14
Section 2.11: Log showing commited files ................................................................................................................. 15
Section 2.12: Show the contents of a single commit ................................................................................................ 15
Section 2.13: Git Log Between Two Branches ........................................................................................................... 16
Section 2.14: One line showing commiter name and time since commit .............................................................. 16
Chapter 3: Working with Remotes ..................................................................................................................... 17
Section 3.1: Deleting a Remote Branch ..................................................................................................................... 17
Section 3.2: Changing Git Remote URL ..................................................................................................................... 17
Section 3.3: List Existing Remotes .............................................................................................................................. 17
Section 3.4: Removing Local Copies of Deleted Remote Branches ....................................................................... 17
Section 3.5: Updating from Upstream Repository .................................................................................................. 18
Section 3.6: ls-remote ................................................................................................................................................. 18
Section 3.7: Adding a New Remote Repository ....................................................................................................... 18
Section 3.8: Set Upstream on a New Branch ........................................................................................................... 18
Section 3.9: Getting Started ........................................................................................................................................ 19
Section 3.10: Renaming a Remote ............................................................................................................................. 19
Section 3.11: Show information about a Specific Remote ........................................................................................ 20
Section 3.12: Set the URL for a Specific Remote ...................................................................................................... 20
Section 3.13: Get the URL for a Specific Remote ...................................................................................................... 20
Section 3.14: Changing a Remote Repository .......................................................................................................... 20
Chapter 4: Staging .................................................................................................................................................... 21
Section 4.1: Staging All Changes to Files ................................................................................................................... 21
Section 4.2: Unstage a file that contains changes ................................................................................................... 21
Section 4.3: Add changes by hunk ............................................................................................................................ 21
Section 4.4: Interactive add ........................................................................................................................................ 22
Section 4.5: Show Staged Changes ........................................................................................................................... 22
Section 4.6: Staging A Single File ............................................................................................................................... 23

, Section 4.7: Stage deleted files .................................................................................................................................. 23
Chapter 5: Ignoring Files and Folders .............................................................................................................. 24
Section 5.1: Ignoring files and directories with a .gitignore file ............................................................................... 24
Section 5.2: Checking if a file is ignored ................................................................................................................... 26
Section 5.3: Exceptions in a .gitignore file ................................................................................................................. 27
Section 5.4: A global .gitignore file ............................................................................................................................ 27
Section 5.5: Ignore files that have already been committed to a Git repository ................................................. 27
Section 5.6: Ignore files locally without committing ignore rules ........................................................................... 28
Section 5.7: Ignoring subsequent changes to a file (without removing it) ............................................................ 29
Section 5.8: Ignoring a file in any directory .............................................................................................................. 29
Section 5.9: Prefilled .gitignore Templates ............................................................................................................... 29
Section 5.10: Ignoring files in subfolders (Multiple gitignore files) ......................................................................... 30
Section 5.11: Create an Empty Folder ........................................................................................................................ 31
Section 5.12: Finding files ignored by .gitignore ....................................................................................................... 31
Section 5.13: Ignoring only part of a file [stub] ........................................................................................................ 32
Section 5.14: Ignoring changes in tracked files. [stub] ............................................................................................ 33
Section 5.15: Clear already committed files, but included in .gitignore ................................................................. 34
Chapter 6: Git Di ....................................................................................................................................................... 35
Section 6.1: Show dierences in working branch ..................................................................................................... 35
Section 6.2: Show changes between two commits .................................................................................................. 35
Section 6.3: Show dierences for staged files .......................................................................................................... 35
Section 6.4: Comparing branches ............................................................................................................................. 36
Section 6.5: Show both staged and unstaged changes .......................................................................................... 36
Section 6.6: Show dierences for a specific file or directory .................................................................................. 36
Section 6.7: Viewing a word-di for long lines ......................................................................................................... 37
Section 6.8: Show dierences between current version and last version ............................................................. 37
Section 6.9: Produce a patch-compatible di .......................................................................................................... 37
Section 6.10: dierence between two commit or branch ........................................................................................ 38
Section 6.11: Using meld to see all modifications in the working directory ........................................................... 38
Section 6.12: Di UTF-16 encoded text and binary plist files .................................................................................. 38
Chapter 7: Undoing .................................................................................................................................................... 40
Section 7.1: Return to a previous commit ................................................................................................................. 40
Section 7.2: Undoing changes .................................................................................................................................... 40
Section 7.3: Using reflog ............................................................................................................................................. 41
Section 7.4: Undoing merges ..................................................................................................................................... 41
Section 7.5: Revert some existing commits .............................................................................................................. 43
Section 7.6: Undo / Redo a series of commits ......................................................................................................... 43
Chapter 8: Merging .................................................................................................................................................... 45
Section 8.1: Automatic Merging .................................................................................................................................. 45
Section 8.2: Finding all branches with no merged changes ................................................................................... 45
Section 8.3: Aborting a merge ................................................................................................................................... 45
Section 8.4: Merge with a commit ............................................................................................................................. 45
Section 8.5: Keep changes from only one side of a merge .................................................................................... 45
Section 8.6: Merge one branch into another ............................................................................................................ 46
Chapter 9: Submodules ........................................................................................................................................... 47
Section 9.1: Cloning a Git repository having submodules ....................................................................................... 47
Section 9.2: Updating a Submodule .......................................................................................................................... 47
Section 9.3: Adding a submodule .............................................................................................................................. 47
Section 9.4: Setting a submodule to follow a branch .............................................................................................. 48
Section 9.5: Moving a submodule .............................................................................................................................. 48

, Section 9.6: Removing a submodule ......................................................................................................................... 49
Chapter 10: Committing ........................................................................................................................................... 50
Section 10.1: Stage and commit changes .................................................................................................................. 50
Section 10.2: Good commit messages ...................................................................................................................... 51
Section 10.3: Amending a commit ............................................................................................................................. 52
Section 10.4: Committing without opening an editor ............................................................................................... 53
Section 10.5: Committing changes directly ............................................................................................................... 53
Section 10.6: Selecting which lines should be staged for committing .................................................................... 53
Section 10.7: Creating an empty commit .................................................................................................................. 54
Section 10.8: Committing on behalf of someone else ............................................................................................. 54
Section 10.9: GPG signing commits ............................................................................................................................ 55
Section 10.10: Commiting changes in specific files ................................................................................................... 55
Section 10.11: Committing at a specific date ............................................................................................................. 55
Section 10.12: Amending the time of a commit ........................................................................................................ 56
Section 10.13: Amending the author of a commit ..................................................................................................... 56
Chapter 11: Aliases ...................................................................................................................................................... 57
Section 11.1: Simple aliases .......................................................................................................................................... 57
Section 11.2: List / search existing aliases ................................................................................................................. 57
Section 11.3: Advanced Aliases ................................................................................................................................... 57
Section 11.4: Temporarily ignore tracked files .......................................................................................................... 58
Section 11.5: Show pretty log with branch graph ..................................................................................................... 58
Section 11.6: See which files are being ignored by your .gitignore configuration ................................................. 59
Section 11.7: Updating code while keeping a linear history ..................................................................................... 60
Section 11.8: Unstage staged files .............................................................................................................................. 60
Chapter 12: Rebasing ................................................................................................................................................ 61
Section 12.1: Local Branch Rebasing ......................................................................................................................... 61
Section 12.2: Rebase: ours and theirs, local and remote ......................................................................................... 61
Section 12.3: Interactive Rebase ................................................................................................................................ 63
Section 12.4: Rebase down to the initial commit ...................................................................................................... 64
Section 12.5: Configuring autostash .......................................................................................................................... 64
Section 12.6: Testing all commits during rebase ...................................................................................................... 65
Section 12.7: Rebasing before a code review ........................................................................................................... 65
Section 12.8: Aborting an Interactive Rebase ........................................................................................................... 67
Section 12.9: Setup git-pull for automatically perform a rebase instead of a merge ......................................... 68
Section 12.10: Pushing after a rebase ........................................................................................................................ 68
Chapter 13: Configuration ...................................................................................................................................... 69
Section 13.1: Setting which editor to use .................................................................................................................... 69
Section 13.2: Auto correct typos ................................................................................................................................. 69
Section 13.3: List and edit the current configuration ................................................................................................ 70
Section 13.4: Username and email address .............................................................................................................. 70
Section 13.5: Multiple usernames and email address .............................................................................................. 70
Section 13.6: Multiple git configurations .................................................................................................................... 71
Section 13.7: Configuring line endings ....................................................................................................................... 72
Section 13.8: configuration for one command only ................................................................................................. 72
Section 13.9: Setup a proxy ......................................................................................................................................... 72
Chapter 14: Branching .............................................................................................................................................. 74
Section 14.1: Creating and checking out new branches ........................................................................................... 74
Section 14.2: Listing branches .................................................................................................................................... 75
Section 14.3: Delete a remote branch ........................................................................................................................ 75
Section 14.4: Quick switch to the previous branch ................................................................................................... 76

Document information

Uploaded on
August 1, 2023
Number of pages
195
Written in
2023/2024
Type
Exam (elaborations)
Contains
Questions & answers
£8.69
Get access to the full document:

100% satisfaction guarantee
Immediately available after payment
Both online and in PDF
No strings attached

Get to know the seller
Seller avatar
tusharrawat1

Get to know the seller

Seller avatar
tusharrawat1 Exam Questions
View profile
Follow You need to be logged in order to follow users or courses
Sold
1
Member since
2 year
Number of followers
1
Documents
29
Last sold
2 year ago

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Trending documents

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their exams and reviewed by others who've used these revision notes.

Didn't get what you expected? Choose another document

No problem! You can straightaway pick a different document that better suits what you're after.

Pay as you like, start learning straight away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and smashed it. It really can be that simple.”

Alisha Student

Frequently asked questions