mirror of
				https://github.com/zulip/zulip.git
				synced 2025-10-30 19:43:47 +00:00 
			
		
		
		
	docs: Format Markdown with Prettier.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
(cherry picked from commit a4dbc1edd4)
			
			
This commit is contained in:
		
				
					committed by
					
						 Tim Abbott
						Tim Abbott
					
				
			
			
				
	
			
			
			
						parent
						
							aa6e70382d
						
					
				
				
					commit
					d81ce3ba76
				
			| @@ -5,111 +5,111 @@ See also [fixing commits][fix-commit] | ||||
| ## Common commands | ||||
|  | ||||
| - add | ||||
|     - `git add foo.py` | ||||
|   - `git add foo.py` | ||||
| - checkout | ||||
|     - `git checkout -b new-branch-name` | ||||
|     - `git checkout main` | ||||
|     - `git checkout old-branch-name` | ||||
|   - `git checkout -b new-branch-name` | ||||
|   - `git checkout main` | ||||
|   - `git checkout old-branch-name` | ||||
| - commit | ||||
|     - `git commit -m "topic: Commit message title."` | ||||
|     - `git commit --amend`: Modify the previous commit. | ||||
|   - `git commit -m "topic: Commit message title."` | ||||
|   - `git commit --amend`: Modify the previous commit. | ||||
| - config | ||||
|     - `git config --global core.editor nano` | ||||
|     - `git config --global core.symlinks true` | ||||
|   - `git config --global core.editor nano` | ||||
|   - `git config --global core.symlinks true` | ||||
| - diff | ||||
|     - `git diff` | ||||
|     - `git diff --cached` | ||||
|     - `git diff HEAD~2..` | ||||
|   - `git diff` | ||||
|   - `git diff --cached` | ||||
|   - `git diff HEAD~2..` | ||||
| - fetch | ||||
|     - `git fetch origin` | ||||
|     - `git fetch upstream` | ||||
|   - `git fetch origin` | ||||
|   - `git fetch upstream` | ||||
| - grep | ||||
|     - `git grep update_unread_counts` | ||||
|   - `git grep update_unread_counts` | ||||
| - log | ||||
|     - `git log` | ||||
|   - `git log` | ||||
| - pull | ||||
|     - `git pull --rebase`: **Use this**. Zulip uses a [rebase oriented workflow][git-overview]. | ||||
|     - `git pull` (with no options): Will either create a merge commit | ||||
|       (which you don't want) or do the same thing as `git pull --rebase`, | ||||
|       depending on [whether you've configured Git properly][git-config-clone] | ||||
|   - `git pull --rebase`: **Use this**. Zulip uses a [rebase oriented workflow][git-overview]. | ||||
|   - `git pull` (with no options): Will either create a merge commit | ||||
|     (which you don't want) or do the same thing as `git pull --rebase`, | ||||
|     depending on [whether you've configured Git properly][git-config-clone] | ||||
| - push | ||||
|     - `git push origin +branch-name` | ||||
|   - `git push origin +branch-name` | ||||
| - rebase | ||||
|     - `git rebase -i HEAD~3` | ||||
|     - `git rebase -i main` | ||||
|     - `git rebase upstream/main` | ||||
|   - `git rebase -i HEAD~3` | ||||
|   - `git rebase -i main` | ||||
|   - `git rebase upstream/main` | ||||
| - reflog | ||||
|     - `git reflog | head -10` | ||||
|   - `git reflog | head -10` | ||||
| - remote | ||||
|     - `git remote -v` | ||||
|   - `git remote -v` | ||||
| - reset | ||||
|     - `git reset HEAD~2` | ||||
|   - `git reset HEAD~2` | ||||
| - rm | ||||
|     - `git rm oops.txt` | ||||
|   - `git rm oops.txt` | ||||
| - show | ||||
|     - `git show HEAD` | ||||
|     - `git show HEAD~~~` | ||||
|     - `git show main` | ||||
|   - `git show HEAD` | ||||
|   - `git show HEAD~~~` | ||||
|   - `git show main` | ||||
| - status | ||||
|     - `git status` | ||||
|   - `git status` | ||||
|  | ||||
| ## Detailed cheat sheet | ||||
|  | ||||
| - add | ||||
|     - `git add foo.py`: add `foo.py` to the staging area | ||||
|     - `git add foo.py bar.py`: add `foo.py` AND `bar.py` to the staging area | ||||
|     - `git add -u`: Adds all tracked files to the staging area. | ||||
|   - `git add foo.py`: add `foo.py` to the staging area | ||||
|   - `git add foo.py bar.py`: add `foo.py` AND `bar.py` to the staging area | ||||
|   - `git add -u`: Adds all tracked files to the staging area. | ||||
| - checkout | ||||
|     - `git checkout -b new-branch-name`: create branch `new-branch-name` and switch to/check out that new branch | ||||
|     - `git checkout main`: switch to your `main` branch | ||||
|     - `git checkout old-branch-name`: switch to an existing branch `old-branch-name` | ||||
|   - `git checkout -b new-branch-name`: create branch `new-branch-name` and switch to/check out that new branch | ||||
|   - `git checkout main`: switch to your `main` branch | ||||
|   - `git checkout old-branch-name`: switch to an existing branch `old-branch-name` | ||||
| - commit | ||||
|     - `git commit -m "commit message"`: It is recommended to type a | ||||
|        multiline commit message, however. | ||||
|     - `git commit`: Opens your default text editor to write a commit message. | ||||
|     - `git commit --amend`: changing the last commit message. Read more [here][fix-commit] | ||||
|   - `git commit -m "commit message"`: It is recommended to type a | ||||
|     multiline commit message, however. | ||||
|   - `git commit`: Opens your default text editor to write a commit message. | ||||
|   - `git commit --amend`: changing the last commit message. Read more [here][fix-commit] | ||||
| - config | ||||
|     - `git config --global core.editor nano`: set core editor to `nano` (you can set this to `vim` or others) | ||||
|     - `git config --global core.symlinks true`: allow symbolic links | ||||
|   - `git config --global core.editor nano`: set core editor to `nano` (you can set this to `vim` or others) | ||||
|   - `git config --global core.symlinks true`: allow symbolic links | ||||
| - diff | ||||
|     - `git diff`: display the changes you have made to all files | ||||
|     - `git diff --cached`: display the changes you have made to staged files | ||||
|     - `git diff HEAD~2..`: display the 2 most recent changes you have made to files | ||||
|   - `git diff`: display the changes you have made to all files | ||||
|   - `git diff --cached`: display the changes you have made to staged files | ||||
|   - `git diff HEAD~2..`: display the 2 most recent changes you have made to files | ||||
| - fetch | ||||
|     - `git fetch origin`: fetch origin repository | ||||
|     - `git fetch upstream`: fetch upstream repository | ||||
|   - `git fetch origin`: fetch origin repository | ||||
|   - `git fetch upstream`: fetch upstream repository | ||||
| - grep | ||||
|     - `git grep update_unread_counts static/js`: Search our JS for references to update_unread_counts. | ||||
|   - `git grep update_unread_counts static/js`: Search our JS for references to update_unread_counts. | ||||
| - log | ||||
|     - `git log`: show commit logs | ||||
|     - `git log --oneline | head`: To quickly see the latest ten commits on a branch. | ||||
|   - `git log`: show commit logs | ||||
|   - `git log --oneline | head`: To quickly see the latest ten commits on a branch. | ||||
| - pull | ||||
|     - `git pull --rebase`: rebase your changes on top of `main`. | ||||
|     - `git pull` (with no options): Will either create a merge commit | ||||
|       (which you don't want) or do the same thing as `git pull --rebase`, | ||||
|       depending on [whether you've configured Git properly][git-config-clone] | ||||
|   - `git pull --rebase`: rebase your changes on top of `main`. | ||||
|   - `git pull` (with no options): Will either create a merge commit | ||||
|     (which you don't want) or do the same thing as `git pull --rebase`, | ||||
|     depending on [whether you've configured Git properly][git-config-clone] | ||||
| - push | ||||
|     - `git push origin branch-name`: push you commits to the origin repository *only if* there are no conflicts. | ||||
|       Use this when collaborating with others to prevent overwriting their work. | ||||
|     - `git push origin +branch-name`: force push your commits to your origin repository. | ||||
|   - `git push origin branch-name`: push you commits to the origin repository _only if_ there are no conflicts. | ||||
|     Use this when collaborating with others to prevent overwriting their work. | ||||
|   - `git push origin +branch-name`: force push your commits to your origin repository. | ||||
| - rebase | ||||
|     - `git rebase -i HEAD~3`: interactive rebasing current branch with first three items on HEAD | ||||
|     - `git rebase -i main`: interactive rebasing current branch with `main` branch | ||||
|     - `git rebase upstream/main`: rebasing current branch with `main` branch from upstream repository | ||||
|   - `git rebase -i HEAD~3`: interactive rebasing current branch with first three items on HEAD | ||||
|   - `git rebase -i main`: interactive rebasing current branch with `main` branch | ||||
|   - `git rebase upstream/main`: rebasing current branch with `main` branch from upstream repository | ||||
| - reflog | ||||
|     - `git reflog | head -10`: manage reference logs for the past 10 commits | ||||
|   - `git reflog | head -10`: manage reference logs for the past 10 commits | ||||
| - remote | ||||
|     - `git remote -v`: display your origin and upstream repositories | ||||
|   - `git remote -v`: display your origin and upstream repositories | ||||
| - reset | ||||
|     - `git reset HEAD~2`: reset two most recent commits | ||||
|   - `git reset HEAD~2`: reset two most recent commits | ||||
| - rm | ||||
|     - `git rm oops.txt`: remove `oops.txt` | ||||
|   - `git rm oops.txt`: remove `oops.txt` | ||||
| - show | ||||
|     - `git show HEAD`: display most recent commit | ||||
|     - `git show HEAD~~~`: display third most recent commit | ||||
|     - `git show main`: display most recent commit on `main` | ||||
|   - `git show HEAD`: display most recent commit | ||||
|   - `git show HEAD~~~`: display third most recent commit | ||||
|   - `git show main`: display most recent commit on `main` | ||||
| - status | ||||
|     - `git status`: show the working tree status, unstaged and staged files | ||||
|   - `git status`: show the working tree status, unstaged and staged files | ||||
|  | ||||
| [fix-commit]: fixing-commits.md | ||||
| [git-config-clone]: cloning.html#step-1b-clone-to-your-machine | ||||
|   | ||||
| @@ -20,6 +20,7 @@ $ git checkout -b <username>/<branchname> | ||||
| ``` | ||||
|  | ||||
| You can choose to rename the branch if you prefer: | ||||
|  | ||||
| ```bash | ||||
| git checkout -b <custombranchname> <username>/<branchname> | ||||
| ``` | ||||
| @@ -31,8 +32,8 @@ pull request locally. GitHub provides a special syntax | ||||
| ([details][github-help-co-pr-locally]) for this since pull requests are | ||||
| specific to GitHub rather than Git. | ||||
|  | ||||
| First, fetch and create a branch for the pull request, replacing *ID* and | ||||
| *BRANCHNAME* with the ID of the pull request and your desired branch name: | ||||
| First, fetch and create a branch for the pull request, replacing _ID_ and | ||||
| _BRANCHNAME_ with the ID of the pull request and your desired branch name: | ||||
|  | ||||
| ```console | ||||
| $ git fetch upstream pull/ID/head:BRANCHNAME | ||||
| @@ -47,11 +48,12 @@ $ git checkout BRANCHNAME | ||||
| Now you work on this branch as you would any other. | ||||
|  | ||||
| Note: you can use the scripts provided in the tools/ directory to fetch pull | ||||
| requests. You can read more about what they do [here][tools-PR]. | ||||
| requests. You can read more about what they do [here][tools-pr]. | ||||
|  | ||||
| ```bash | ||||
| tools/fetch-rebase-pull-request <PR-number> | ||||
| tools/fetch-pull-request <PR-number> | ||||
| ``` | ||||
|  | ||||
| [github-help-co-pr-locally]: https://help.github.com/en/articles/checking-out-pull-requests-locally | ||||
| [tools-PR]: ../git/zulip-tools.html#fetch-a-pull-request-and-rebase | ||||
| [tools-pr]: ../git/zulip-tools.html#fetch-a-pull-request-and-rebase | ||||
|   | ||||
| @@ -1,35 +1,45 @@ | ||||
| # Fixing commits | ||||
|  | ||||
| This is mostly from | ||||
| [here](https://help.github.com/en/articles/changing-a-commit-message#rewriting-the-most-recent-commit-message). | ||||
|  | ||||
| ## Fixing the last commit | ||||
|  | ||||
| ### Changing the last commit message | ||||
|  | ||||
| 1. `git commit --amend -m "New message"` | ||||
|  | ||||
| ### Changing the last commit | ||||
|  | ||||
| 1. Make your changes to the files | ||||
| 2. Run `git add <filename>` to add one file or `git add <filename1> <filename2> ...` to add multiple files | ||||
| 3. `git commit --amend` | ||||
|  | ||||
| ## Fixing older commits | ||||
|  | ||||
| ### Changing commit messages | ||||
|  | ||||
| 1. `git rebase -i HEAD~5` (if, for example, you are editing some of the last five commits) | ||||
| 2. For each commit that you want to change the message, change `pick` to `reword`, and save | ||||
| 3. Change the commit messages | ||||
|  | ||||
| ### Deleting old commits | ||||
|  | ||||
| 1. `git rebase -i HEAD~n` where `n` is the number of commits you are looking at | ||||
| 2. For each commit that you want to delete, change `pick` to `drop`, and save | ||||
|  | ||||
| ## Squashing commits | ||||
|  | ||||
| Sometimes, you want to make one commit out of a bunch of commits. To do this, | ||||
|  | ||||
| 1. `git rebase -i HEAD~n` where `n` is the number of commits you are interested in | ||||
| 2. Change `pick` to `squash` on the lines containing the commits you want to squash and save | ||||
|  | ||||
| ## Reordering commits | ||||
|  | ||||
| 1. `git rebase -i HEAD~n` where `n` is the number of commits you are interested in | ||||
| 2. Reorder the lines containing the commits and save | ||||
|  | ||||
| ## Pushing commits after tidying them | ||||
|  | ||||
| 1. `git push origin +my-feature-branch` (Note the `+` there and substitute your actual branch name.) | ||||
|   | ||||
| @@ -10,7 +10,7 @@ with these details in mind: | ||||
|   [repository][github-zulip], if you are working on something else besides | ||||
|   Zulip server) to your own account and then create feature/issue branches. | ||||
|   When you're ready to get feedback, submit a work-in-progress (WIP) pull | ||||
|   request. *We encourage you to submit WIP pull requests early and often.* | ||||
|   request. _We encourage you to submit WIP pull requests early and often._ | ||||
|  | ||||
| - We use a **[rebase][gitbook-rebase]-oriented workflow.** We do not use merge | ||||
|   commits. This means you should use `git fetch` followed by `git rebase` | ||||
| @@ -24,13 +24,13 @@ with these details in mind: | ||||
|   when another branch is merged, that clutter the commit history (it's | ||||
|   popular with other large projects such as Django). This makes | ||||
|   Zulip's commit history more readable, but a side effect is that many | ||||
|   pull requests we merge will be reported by GitHub's UI as *closed* | ||||
|   instead of *merged*, since GitHub has poor support for | ||||
|   pull requests we merge will be reported by GitHub's UI as _closed_ | ||||
|   instead of _merged_, since GitHub has poor support for | ||||
|   rebase-oriented workflows. | ||||
|  | ||||
| - We have a **[code style guide][zulip-rtd-code-style]**, a **[commit message | ||||
|   guide][zulip-rtd-commit-messages]**, and strive for each commit to be *a | ||||
|   minimal coherent idea* (see **[commit | ||||
|   guide][zulip-rtd-commit-messages]**, and strive for each commit to be _a | ||||
|   minimal coherent idea_ (see **[commit | ||||
|   discipline][zulip-rtd-commit-discipline]** for details). | ||||
|  | ||||
| - We provide **many tools to help you submit quality code.** These include | ||||
| @@ -48,7 +48,7 @@ with these details in mind: | ||||
| Finally, install the [Zulip developer environment][zulip-rtd-dev-overview], and then | ||||
| [configure continuous integration for your fork][zulip-git-guide-fork-ci]. | ||||
|  | ||||
| *** | ||||
| --- | ||||
|  | ||||
| The following sections will help you be awesome with Zulip and Git/GitHub in a | ||||
| rebased-based workflow. Read through it if you're new to Git, to a rebase-based | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| When you're ready for feedback, submit a pull request. Pull requests | ||||
| are a feature specific to GitHub. They provide a simple, web-based way | ||||
| to submit your work (often called "patches") to a project. It's called | ||||
| a *pull request* because you're asking the project to *pull changes* | ||||
| a _pull request_ because you're asking the project to _pull changes_ | ||||
| from your fork. | ||||
|  | ||||
| If you're unfamiliar with how to create a pull request, you can check | ||||
| @@ -44,7 +44,7 @@ The best way to update your branch is with `git fetch` and `git rebase`. Do not | ||||
| use `git pull` or `git merge` as this will create merge commits. See [keep your | ||||
| fork up to date][keep-up-to-date] for details. | ||||
|  | ||||
| Here's an example (you would replace *issue-123* with the name of your feature branch): | ||||
| Here's an example (you would replace _issue-123_ with the name of your feature branch): | ||||
|  | ||||
| ```console | ||||
| $ git checkout issue-123 | ||||
| @@ -117,7 +117,7 @@ pull request** button. | ||||
| Alternatively, if you've recently pushed to your fork, you will see a green | ||||
| **Compare & pull request** button. | ||||
|  | ||||
| You'll see the *Open a pull request* page: | ||||
| You'll see the _Open a pull request_ page: | ||||
|  | ||||
| ![images-create-pr] | ||||
|  | ||||
|   | ||||
| @@ -2,9 +2,10 @@ | ||||
|  | ||||
| When you install Git, it adds a manual entry for `gitglossary`. You can view | ||||
| this glossary by running `man gitglossary`. Below we've included the Git terms | ||||
| you'll encounter most often along with their definitions from *gitglossary*. | ||||
| you'll encounter most often along with their definitions from _gitglossary_. | ||||
|  | ||||
| ## branch | ||||
|  | ||||
| A "branch" is an active line of development. The most recent commit | ||||
| on a branch is referred to as the tip of that branch. The tip of | ||||
| the branch is referenced by a branch head, which moves forward as | ||||
| @@ -14,14 +15,17 @@ working tree is associated with just one of them (the "current" or | ||||
| "checked out" branch), and HEAD points to that branch. | ||||
|  | ||||
| ## cache | ||||
|  | ||||
| Obsolete for: index | ||||
|  | ||||
| ## checkout | ||||
|  | ||||
| The action of updating all or part of the working tree with a tree | ||||
| object or blob from the object database, and updating the index and | ||||
| HEAD if the whole working tree has been pointed at a new branch. | ||||
|  | ||||
| ## commit | ||||
|  | ||||
| As a noun: A single point in the Git history; the entire history of | ||||
| a project is represented as a set of interrelated commits. The word | ||||
| "commit" is often used by Git in the same places other revision | ||||
| @@ -33,6 +37,7 @@ state in the Git history, by creating a new commit representing the | ||||
| current state of the index and advancing HEAD to point at the new | ||||
|  | ||||
| ## fast-forward | ||||
|  | ||||
| A fast-forward is a special type of merge where you have a revision | ||||
| and you are "merging" another branch's changes that happen to be a | ||||
| descendant of what you have. In such these cases, you do not make a | ||||
| @@ -41,19 +46,23 @@ happen frequently on a remote-tracking branch of a remote | ||||
| repository. | ||||
|  | ||||
| ## fetch | ||||
|  | ||||
| Fetching a branch means to get the branch's head ref from a remote | ||||
| repository, to find out which objects are missing from the local | ||||
| object database, and to get them, too. See also [git-fetch(1)](https://git-scm.com/docs/git-fetch) | ||||
|  | ||||
| ## hash | ||||
|  | ||||
| In Git's context, synonym for object name. | ||||
|  | ||||
| ## head | ||||
|  | ||||
| A named reference to the commit at the tip of a branch. Heads are | ||||
| stored in a file in $GIT_DIR/refs/heads/ directory, except when | ||||
| using packed refs. See also [git-pack-refs(1)](https://git-scm.com/docs/git-pack-refs). | ||||
|  | ||||
| ## HEAD | ||||
|  | ||||
| The current branch. In more detail: Your working tree is normally | ||||
| derived from the state of the tree referred to by HEAD. HEAD is a | ||||
| reference to one of the heads in your repository, except when using | ||||
| @@ -61,15 +70,18 @@ a detached HEAD, in which case it directly references an arbitrary | ||||
| commit. | ||||
|  | ||||
| ## index | ||||
|  | ||||
| A collection of files with stat information, whose contents are | ||||
| stored as objects. The index is a stored version of your working | ||||
| tree. Truth be told, it can also contain a second, and even a third | ||||
| version of a working tree, which are used when merging. | ||||
|  | ||||
| ## pull | ||||
|  | ||||
| Pulling a branch means to fetch it and merge it. See also [git-pull(1)](https://git-scm.com/docs/git-pull) | ||||
|  | ||||
| ## push | ||||
|  | ||||
| Pushing a branch means to get the branch's head ref from a remote | ||||
| repository, find out if it is a direct ancestor to the branch's | ||||
| local head ref, and in that case, putting all objects, which are | ||||
| @@ -79,5 +91,6 @@ the remote head ref. If the remote head is not an ancestor to the | ||||
| local head, the push fails. | ||||
|  | ||||
| ## rebase | ||||
|  | ||||
| To reapply a series of changes from a branch to a different base, | ||||
| and reset the head of that branch to the result. | ||||
|   | ||||
| @@ -2,22 +2,22 @@ | ||||
|  | ||||
| Whether you're new to Git or have experience with another version control | ||||
| system (VCS), it's a good idea to learn a bit about how Git works. We recommend | ||||
| this excellent presentation *[Understanding Git][understanding-git]* from | ||||
| this excellent presentation _[Understanding Git][understanding-git]_ from | ||||
| Nelson Elhage and Anders Kaseorg and the [Git Basics][gitbook-basics] chapter | ||||
| from *Pro Git* by Scott Chacon and Ben Straub. | ||||
| from _Pro Git_ by Scott Chacon and Ben Straub. | ||||
|  | ||||
| Here are the top things to know: | ||||
|  | ||||
| - **Git works on snapshots.** Unlike other version control systems (e.g., | ||||
|   Subversion, Perforce, Bazaar), which track files and changes to those files | ||||
|   made over time, Git tracks *snapshots* of your project. Each time you commit | ||||
|   made over time, Git tracks _snapshots_ of your project. Each time you commit | ||||
|   or otherwise make a change to your repository, Git takes a snapshot of your | ||||
|   project and stores a reference to that snapshot. If a file hasn't changed, | ||||
|   Git creates a link to the identical file rather than storing it again. | ||||
|  | ||||
| - **Most Git operations are local.** Git is a distributed version control | ||||
|   system, so once you've cloned a repository, you have a complete copy of that | ||||
|   repository's *entire history*. Staging, committing, branching, and browsing | ||||
|   repository's _entire history_. Staging, committing, branching, and browsing | ||||
|   history are all things you can do locally without network access and without | ||||
|   immediately affecting any remote repositories. To make or receive changes | ||||
|   from remote repositories, you need to `git fetch`, `git pull`, or `git push`. | ||||
| @@ -45,9 +45,9 @@ Here are the top things to know: | ||||
|  | ||||
| - **Cloning a repository creates a working copy.** Every working copy has a | ||||
|   `.git` subdirectory, which contains its own Git repository. The `.git` | ||||
|   subdirectory also tracks the *index*, a staging area for changes that will | ||||
|   become part of the next commit. All files outside of `.git` is the *working | ||||
|   tree*. | ||||
|   subdirectory also tracks the _index_, a staging area for changes that will | ||||
|   become part of the next commit. All files outside of `.git` is the _working | ||||
|   tree_. | ||||
|  | ||||
| - **Files tracked with Git have possible three states: committed, modified, and | ||||
|   staged.** Committed files are those safely stored in your local `.git` | ||||
| @@ -56,8 +56,8 @@ Here are the top things to know: | ||||
|   changes but have not yet been marked for inclusion in the next commit; they | ||||
|   have not been added to the index. | ||||
|  | ||||
| - **Git commit workflow is as follows.** Edit files in your *working tree*. Add | ||||
|   to the *index* (that is *stage*) with `git add`. *Commit* to the HEAD of the | ||||
| - **Git commit workflow is as follows.** Edit files in your _working tree_. Add | ||||
|   to the _index_ (that is _stage_) with `git add`. _Commit_ to the HEAD of the | ||||
|   current branch with `git commit`. | ||||
|  | ||||
| [gitbook-basics]: https://git-scm.com/book/en/v2/Getting-Started-Git-Basics | ||||
|   | ||||
| @@ -204,10 +204,12 @@ and `>>>>>>>`) markers to indicate where in files there are conflicts. | ||||
|  | ||||
| Tip: You can see recent changes made to a file by running the following | ||||
| commands: | ||||
|  | ||||
| ```bash | ||||
| git fetch upstream | ||||
| git log -p upstream/main -- /path/to/file | ||||
| ``` | ||||
|  | ||||
| You can use this to compare the changes that you have made to a file with the | ||||
| ones in upstream, helping you avoid undoing changes from a previous commit when | ||||
| you are rebasing. | ||||
| @@ -234,8 +236,8 @@ pay attention and do a bit of work to ensure all of your work is readily | ||||
| available. | ||||
|  | ||||
| Recall that most Git operations are local. When you commit your changes with | ||||
| `git commit` they are safely stored in your *local* Git database only. That is, | ||||
| until you *push* the commits to GitHub, they are only available on the computer | ||||
| `git commit` they are safely stored in your _local_ Git database only. That is, | ||||
| until you _push_ the commits to GitHub, they are only available on the computer | ||||
| where you committed them. | ||||
|  | ||||
| So, before you stop working for the day, or before you switch computers, push | ||||
|   | ||||
| @@ -135,7 +135,7 @@ Recall that files tracked with Git have possible three states: | ||||
| committed, modified, and staged. | ||||
|  | ||||
| To prepare a commit, first add the files with changes that you want | ||||
| to include in your commit to your staging area. You *add* both new files and | ||||
| to include in your commit to your staging area. You _add_ both new files and | ||||
| existing ones. You can also remove files from staging when necessary. | ||||
|  | ||||
| ### Get status of working directory | ||||
| @@ -168,7 +168,7 @@ nothing added to commit but untracked files present (use "git add" to track) | ||||
|  | ||||
| To add changes to your staging area, use `git add <filename>`. Because | ||||
| `git add` is all about staging the changes you want to commit, you use | ||||
| it to add *new files* as well as *files with changes* to your staging | ||||
| it to add _new files_ as well as _files with changes_ to your staging | ||||
| area. | ||||
|  | ||||
| Continuing our example from above, after we run `git add newfile.py`, we'll see | ||||
| @@ -188,7 +188,6 @@ view changes to files you haven't yet staged, just use `git diff`. | ||||
| If you want to add all changes in the working directory, use `git add -A` | ||||
| ([documentation][gitbook-add]). | ||||
|  | ||||
|  | ||||
| You can also stage changes using your graphical Git client. | ||||
|  | ||||
| If you stage a file, you can undo it with `git reset HEAD <filename>`. Here's | ||||
|   | ||||
| @@ -41,7 +41,7 @@ described above in that it does not create a branch for the pull request | ||||
| checkout. | ||||
|  | ||||
| **This tool checks for uncommitted changes, but it will move the | ||||
|   current branch using `git reset --hard`. Use with caution.** | ||||
| current branch using `git reset --hard`. Use with caution.** | ||||
|  | ||||
| First, make sure you are working in a branch you want to move (in this | ||||
| example, we'll use the local `main` branch). Then run the script | ||||
| @@ -163,10 +163,11 @@ Deleting local branch review-original-5156 (was 5a1e982) | ||||
| ## Merge conflict on yarn.lock file | ||||
|  | ||||
| If there is a merge conflict on yarn.lock, yarn should be run to | ||||
| regenerate the file. *Important* don't delete the yarn.lock file. Check out the | ||||
| regenerate the file. _Important_ don't delete the yarn.lock file. Check out the | ||||
| latest one from `origin/main` so that yarn knows the previous asset versions. | ||||
|  | ||||
| Run the following commands | ||||
|  | ||||
| ```bash | ||||
| git checkout origin/main -- yarn.lock | ||||
| yarn install | ||||
|   | ||||
		Reference in New Issue
	
	Block a user