mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	This uses the myst_heading_anchors option to automatically generate header anchors and make Sphinx aware of them. See https://myst-parser.readthedocs.io/en/latest/syntax/optional.html#auto-generated-header-anchors. Note: to be compatible with GitHub, MyST-Parser uses a slightly different convention for .md fragment links than .html fragment links when punctuation is involved. This does not affect the generated fragment links in the HTML output. Fixes #13264. Signed-off-by: Anders Kaseorg <anders@zulip.com>
		
			
				
	
	
	
		
			4.2 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			4.2 KiB
		
	
	
	
	
	
	
	
Git cheat sheet
See also fixing commits
Common commands
- add
git add foo.py
 - checkout
git checkout -b new-branch-namegit checkout maingit checkout old-branch-name
 - commit
git commit -m "topic: Commit message title."git commit --amend: Modify the previous commit.
 - config
git config --global core.editor nanogit config --global core.symlinks true
 - diff
git diffgit diff --cachedgit diff HEAD~2..
 - fetch
git fetch origingit fetch upstream
 - grep
git grep update_unread_counts
 - log
git log
 - pull
git pull --rebase: Use this. Zulip uses a rebase oriented workflow.git pull(with no options): Will either create a merge commit (which you don't want) or do the same thing asgit pull --rebase, depending on whether you've configured Git properly
 - push
git push origin +branch-name
 - rebase
git rebase -i HEAD~3git rebase -i maingit rebase upstream/main
 - reflog
git reflog | head -10
 - remote
git remote -v
 - reset
git reset HEAD~2
 - rm
git rm oops.txt
 - show
git show HEADgit show HEAD~~~git show main
 - status
git status
 
Detailed cheat sheet
- add
git add foo.py: addfoo.pyto the staging areagit add foo.py bar.py: addfoo.pyANDbar.pyto the staging areagit add -u: Adds all tracked files to the staging area.
 - checkout
git checkout -b new-branch-name: create branchnew-branch-nameand switch to/check out that new branchgit checkout main: switch to yourmainbranchgit checkout old-branch-name: switch to an existing branchold-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
 - config
git config --global core.editor nano: set core editor tonano(you can set this tovimor others)git config --global core.symlinks true: allow symbolic links
 - diff
git diff: display the changes you have made to all filesgit diff --cached: display the changes you have made to staged filesgit diff HEAD~2..: display the 2 most recent changes you have made to files
 - fetch
git fetch origin: fetch origin repositorygit fetch upstream: fetch upstream repository
 - grep
git grep update_unread_counts static/js: Search our JS for references to update_unread_counts.
 - log
git log: show commit logsgit log --oneline | head: To quickly see the latest ten commits on a branch.
 - pull
git pull --rebase: rebase your changes on top ofmain.git pull(with no options): Will either create a merge commit (which you don't want) or do the same thing asgit pull --rebase, depending on whether you've configured Git properly
 - 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.
 - rebase
git rebase -i HEAD~3: interactive rebasing current branch with first three items on HEADgit rebase -i main: interactive rebasing current branch withmainbranchgit rebase upstream/main: rebasing current branch withmainbranch from upstream repository
 - reflog
git reflog | head -10: manage reference logs for the past 10 commits
 - remote
git remote -v: display your origin and upstream repositories
 - reset
git reset HEAD~2: reset two most recent commits
 - rm
git rm oops.txt: removeoops.txt
 - show
git show HEAD: display most recent commitgit show HEAD~~~: display third most recent commitgit show main: display most recent commit onmain
 - status
git status: show the working tree status, unstaged and staged files