From 0e53a8a500b75a0b60a88b9830825fda3c06bbf8 Mon Sep 17 00:00:00 2001 From: Milo Gilad Date: Mon, 31 Jul 2017 10:26:51 -0400 Subject: Small changes to git docs * Added command to add all files in the working tree to the staging area * Fixed some markdown code formatting mistakes * Fixed some grammatical mistakes * Fixed some spelling mistakes --- git.html.markdown | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'git.html.markdown') diff --git a/git.html.markdown b/git.html.markdown index 01dc92c1..e2376176 100644 --- a/git.html.markdown +++ b/git.html.markdown @@ -8,6 +8,7 @@ contributors: - ["Bruno Volcov", "http://github.com/volcov"] - ["Andrew Taylor", "http://github.com/andrewjt71"] - ["Jason Stathopulos", "http://github.com/SpiritBreaker226"] + - ["Milo Gilad", "http://github.com/Myl0g"] filename: LearnGit.txt --- @@ -23,7 +24,7 @@ manage your source code. Version control is a system that records changes to a file(s), over time. -### Centralized Versioning VS Distributed Versioning +### Centralized Versioning vs. Distributed Versioning * Centralized version control focuses on synchronizing, tracking, and backing up files. @@ -157,6 +158,7 @@ $ git init --help To intentionally untrack file(s) & folder(s) from git. Typically meant for private & temp files which would otherwise be shared in the repository. + ```bash $ echo "temp/" >> .gitignore $ echo "private_key" >> .gitignore @@ -189,6 +191,9 @@ $ git add /path/to/file/HelloWorld.c # Regular Expression support! $ git add ./*.java + +# You can also add everything in your working directory to the staging area. +$ git add -A ``` This only adds a file to the staging area/index, it doesn't commit it to the @@ -226,7 +231,7 @@ Manage your tags $ git tag # Create a annotated tag -# The -m specifies a tagging message,which is stored with the tag. +# The -m specifies a tagging message, which is stored with the tag. # If you don’t specify a message for an annotated tag, # Git launches your editor so you can type it in. $ git tag -a v2.0 -m 'my version 2.0' @@ -526,12 +531,12 @@ $ git reset --hard 31f2bb1 Reflog will list most of the git commands you have done for a given time period, default 90 days. -This give you the a change to reverse any git commands that have gone wrong -for instance if a rebase is has broken your application. +This give you the chance to reverse any git commands that have gone wrong (for instance, if a rebase has broken your application). You can do this: 1. `git reflog` to list all of the git commands for the rebase + ``` 38b323f HEAD@{0}: rebase -i (finish): returning to refs/heads/feature/add_git_reflog 38b323f HEAD@{1}: rebase -i (pick): Clarify inc/dec operators -- cgit v1.2.3 From 4d29f3f988e5612fa18c17066d9e00097b7b9149 Mon Sep 17 00:00:00 2001 From: Milo Gilad Date: Mon, 31 Jul 2017 10:30:24 -0400 Subject: Keeping lines under 80 chars --- git.html.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'git.html.markdown') diff --git a/git.html.markdown b/git.html.markdown index e2376176..1cd2578e 100644 --- a/git.html.markdown +++ b/git.html.markdown @@ -531,7 +531,8 @@ $ git reset --hard 31f2bb1 Reflog will list most of the git commands you have done for a given time period, default 90 days. -This give you the chance to reverse any git commands that have gone wrong (for instance, if a rebase has broken your application). +This give you the chance to reverse any git commands that have gone wrong +(for instance, if a rebase has broken your application). You can do this: -- cgit v1.2.3 From 985d23a52b76593a120adff5381c2df3a80fe298 Mon Sep 17 00:00:00 2001 From: HairyFotr Date: Wed, 23 Aug 2017 10:14:39 +0200 Subject: Fix a bunch of typos --- git.html.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'git.html.markdown') diff --git a/git.html.markdown b/git.html.markdown index 1cd2578e..088c109f 100644 --- a/git.html.markdown +++ b/git.html.markdown @@ -432,7 +432,7 @@ Stashing takes the dirty state of your working directory and saves it on a stack of unfinished changes that you can reapply at any time. Let's say you've been doing some work in your git repo, but you want to pull -from the remote. Since you have dirty (uncommited) changes to some files, you +from the remote. Since you have dirty (uncommitted) changes to some files, you are not able to run `git pull`. Instead, you can run `git stash` to save your changes onto a stack! @@ -521,7 +521,7 @@ $ git reset --hard $ git reset 31f2bb1 # Moves the current branch tip backward to the specified commit -# and makes the working dir match (deletes uncommited changes and all commits +# and makes the working dir match (deletes uncommitted changes and all commits # after the specified commit). $ git reset --hard 31f2bb1 ``` -- cgit v1.2.3 From 53604f0358c7ae771ce39254a7fe7588f2aceac5 Mon Sep 17 00:00:00 2001 From: Marko Cubela Date: Tue, 17 Oct 2017 09:38:17 +0200 Subject: added signed commit example --- git.html.markdown | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'git.html.markdown') diff --git a/git.html.markdown b/git.html.markdown index 088c109f..582f8863 100644 --- a/git.html.markdown +++ b/git.html.markdown @@ -292,6 +292,10 @@ contains the changes made and a message created by the user. # commit with a message $ git commit -m "Added multiplyNumbers() function to HelloWorld.c" +# signed commit with a message (user.signingkey must have been set +# with your GPG key e.g. git config --global user.signingkey 5173AAD5) +$ git commit -S -m "signed commit message" + # automatically stage modified or deleted files, except new files, and then commit $ git commit -a -m "Modified foo.php and removed bar.php" -- cgit v1.2.3 From 2af4f99b67ceffe2be741a2acf6bb51dd26dc931 Mon Sep 17 00:00:00 2001 From: Apoorv Choubey Date: Sat, 20 Oct 2018 21:11:17 +0530 Subject: add Git resource --- git.html.markdown | 60 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 29 deletions(-) (limited to 'git.html.markdown') diff --git a/git.html.markdown b/git.html.markdown index 582f8863..aa96c90a 100644 --- a/git.html.markdown +++ b/git.html.markdown @@ -26,11 +26,11 @@ Version control is a system that records changes to a file(s), over time. ### Centralized Versioning vs. Distributed Versioning -* Centralized version control focuses on synchronizing, tracking, and backing +* Centralized version control focuses on synchronizing, tracking, and backing up files. -* Distributed version control focuses on sharing changes. Every change has a +* Distributed version control focuses on sharing changes. Every change has a unique id. -* Distributed systems have no defined structure. You could easily have a SVN +* Distributed systems have no defined structure. You could easily have a SVN style, centralized system, with git. [Additional Information](http://git-scm.com/book/en/Getting-Started-About-Version-Control) @@ -57,7 +57,7 @@ A git repository is comprised of the .git directory & working tree. ### .git Directory (component of repository) -The .git directory contains all the configurations, logs, branches, HEAD, and +The .git directory contains all the configurations, logs, branches, HEAD, and more. [Detailed List.](http://gitready.com/advanced/2009/03/23/whats-inside-your-git-directory.html) @@ -68,15 +68,15 @@ referred to as your working directory. ### Index (component of .git dir) -The Index is the staging area in git. It's basically a layer that separates -your working tree from the Git repository. This gives developers more power +The Index is the staging area in git. It's basically a layer that separates +your working tree from the Git repository. This gives developers more power over what gets sent to the Git repository. ### Commit -A git commit is a snapshot of a set of changes, or manipulations to your -Working Tree. For example, if you added 5 files, and removed 2 others, these -changes will be contained in a commit (or snapshot). This commit can then be +A git commit is a snapshot of a set of changes, or manipulations to your +Working Tree. For example, if you added 5 files, and removed 2 others, these +changes will be contained in a commit (or snapshot). This commit can then be pushed to other repositories, or not! ### Branch @@ -91,13 +91,13 @@ functionality to mark release points (v1.0, and so on) ### HEAD and head (component of .git dir) -HEAD is a pointer that points to the current branch. A repository only has 1 -*active* HEAD. -head is a pointer that points to any commit. A repository can have any number +HEAD is a pointer that points to the current branch. A repository only has 1 +*active* HEAD. +head is a pointer that points to any commit. A repository can have any number of heads. ### Stages of Git -* Modified - Changes have been made to a file but file has not been committed +* Modified - Changes have been made to a file but file has not been committed to Git Database yet * Staged - Marks a modified file to go into your next commit snapshot * Committed - Files have been committed to the Git Database @@ -111,7 +111,7 @@ to Git Database yet ### init -Create an empty Git repository. The Git repository's settings, stored +Create an empty Git repository. The Git repository's settings, stored information, and more is stored in a directory (a folder) named ".git". ```bash @@ -179,7 +179,7 @@ $ git help status ### add -To add files to the staging area/index. If you do not `git add` new files to +To add files to the staging area/index. If you do not `git add` new files to the staging area/index, they will not be included in commits! ```bash @@ -201,7 +201,7 @@ working directory/repo. ### branch -Manage your branches. You can view, edit, create, delete branches using this +Manage your branches. You can view, edit, create, delete branches using this command. ```bash @@ -250,7 +250,7 @@ $ git push origin --tags ### checkout -Updates all files in the working tree to match the version in the index, or +Updates all files in the working tree to match the version in the index, or specified tree. ```bash @@ -269,7 +269,7 @@ $ git checkout -b newBranch ### clone Clones, or copies, an existing repository into a new directory. It also adds -remote-tracking branches for each branch in the cloned repo, which allows you +remote-tracking branches for each branch in the cloned repo, which allows you to push to a remote branch. ```bash @@ -285,7 +285,7 @@ $ git clone -b master-cn https://github.com/adambard/learnxinyminutes-docs.git - ### commit -Stores the current contents of the index in a new "commit." This commit +Stores the current contents of the index in a new "commit." This commit contains the changes made and a message created by the user. ```bash @@ -401,11 +401,11 @@ Pulls from a repository and merges it with another branch. $ git pull origin master # By default, git pull will update your current branch -# by merging in new changes from its remote-tracking branch +# by merging in new changes from its remote-tracking branch $ git pull # Merge in changes from remote branch and rebase -# branch commits onto your local repo, like: "git fetch , git +# branch commits onto your local repo, like: "git fetch , git # rebase /" $ git pull origin master --rebase ``` @@ -421,7 +421,7 @@ Push and merge changes from a branch to a remote & branch. $ git push origin master # By default, git push will push and merge changes from -# the current branch to its remote-tracking branch +# the current branch to its remote-tracking branch $ git push # To link up current local branch with a remote branch, add -u flag: @@ -432,7 +432,7 @@ $ git push ### stash -Stashing takes the dirty state of your working directory and saves it on a +Stashing takes the dirty state of your working directory and saves it on a stack of unfinished changes that you can reapply at any time. Let's say you've been doing some work in your git repo, but you want to pull @@ -464,7 +464,7 @@ nothing to commit, working directory clean ``` You can see what "hunks" you've stashed so far using `git stash list`. -Since the "hunks" are stored in a Last-In-First-Out stack, our most recent +Since the "hunks" are stored in a Last-In-First-Out stack, our most recent change will be at top. ```bash @@ -495,7 +495,7 @@ Now you're ready to get back to work on your stuff! ### rebase (caution) -Take all changes that were committed on one branch, and replay them onto +Take all changes that were committed on one branch, and replay them onto another branch. *Do not rebase commits that you have pushed to a public repo*. @@ -510,7 +510,7 @@ $ git rebase master experimentBranch ### reset (caution) Reset the current HEAD to the specified state. This allows you to undo merges, -pulls, commits, adds, and more. It's a great command but also dangerous if you +pulls, commits, adds, and more. It's a great command but also dangerous if you don't know what you are doing. ```bash @@ -535,7 +535,7 @@ $ git reset --hard 31f2bb1 Reflog will list most of the git commands you have done for a given time period, default 90 days. -This give you the chance to reverse any git commands that have gone wrong +This give you the chance to reverse any git commands that have gone wrong (for instance, if a rebase has broken your application). You can do this: @@ -558,8 +558,8 @@ ed8ddf2 HEAD@{4}: rebase -i (pick): pythonstatcomp spanish translation (#1748) ### revert -Revert can be used to undo a commit. It should not be confused with reset which -restores the state of a project to a previous point. Revert will add a new +Revert can be used to undo a commit. It should not be confused with reset which +restores the state of a project to a previous point. Revert will add a new commit which is the inverse of the specified commit, thus reverting it. ```bash @@ -604,3 +604,5 @@ $ git rm /pather/to/the/file/HelloWorld.c * [Pro Git](http://www.git-scm.com/book/en/v2) * [An introduction to Git and GitHub for Beginners (Tutorial)](http://product.hubspot.com/blog/git-and-github-tutorial-for-beginners) + +* [The New Boston tutorial to Git covering basic commands and workflow](https://www.youtube.com/playlist?list=PL6gx4Cwl9DGAKWClAD_iKpNC0bGHxGhcx) -- cgit v1.2.3 From 073a9bbb7eb0e827ec08fca50f0ad9ba7f305e3f Mon Sep 17 00:00:00 2001 From: cg <31290848+ComputerGenius152@users.noreply.github.com> Date: Thu, 2 Jul 2020 13:28:08 -0400 Subject: Update git.html.markdown Fixing a few typos. --- git.html.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'git.html.markdown') diff --git a/git.html.markdown b/git.html.markdown index aa96c90a..a40ef01b 100644 --- a/git.html.markdown +++ b/git.html.markdown @@ -82,12 +82,12 @@ pushed to other repositories, or not! ### Branch A branch is essentially a pointer to the last commit you made. As you go on -committing, this pointer will automatically update to point the latest commit. +committing, this pointer will automatically update to point to the latest commit. ### Tag A tag is a mark on specific point in history. Typically people use this -functionality to mark release points (v1.0, and so on) +functionality to mark release points (v1.0, and so on). ### HEAD and head (component of .git dir) -- cgit v1.2.3