`

Git常用命令备忘

阅读更多

Git配置

git config --global user.name "robbin"   
git config --global user.email "fankai@gmail.com"
git config --global color.ui true
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global core.editor "mate -w"    # 设置Editor使用textmate
git config -l  # 列举所有配置

用户的git配置文件~/.gitconfig

Git常用命令

查看、添加、提交、删除、找回,重置修改文件

git help <command>  # 显示command的help
git show            # 显示某次提交的内容
git show $id

git co  -- <file>   # 抛弃工作区修改
git co  .           # 抛弃工作区修改

git add <file>      # 将工作文件修改提交到本地暂存区
git add .           # 将所有修改过的工作文件提交暂存区

git rm <file>       # 从版本库中删除文件
git rm <file> --cached  # 从版本库中删除文件,但不删除文件

git reset <file>    # 从暂存区恢复到工作文件
git reset -- .      # 从暂存区恢复到工作文件
git reset --hard    # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改

git ci <file>
git ci .
git ci -a           # 将git add, git rm和git ci等操作都合并在一起做
git ci -am "some comments"
git ci --amend      # 修改最后一次提交记录

git revert <$id>    # 恢复某次提交的状态,恢复动作本身也创建了一次提交对象
git revert HEAD     # 恢复最后一次提交的状态

查看文件diff

git diff <file>     # 比较当前文件和暂存区文件差异
git diff
git diff <$id1> <$id2>   # 比较两次提交之间的差异
git diff <branch1>..<branch2> # 在两个分支之间比较 
git diff --staged   # 比较暂存区和版本库差异
git diff --cached   # 比较暂存区和版本库差异
git diff --stat     # 仅仅比较统计信息

查看提交记录

git log
git log <file>      # 查看该文件每次提交记录
git log -p <file>   # 查看每次详细修改内容的diff
git log -p -2       # 查看最近两次详细修改内容的diff
git log --stat      # 查看提交统计信息

tig

Mac上可以使用tig代替diff和log,brew install tig

Git 本地分支管理

查看、切换、创建和删除分支

git br -r           # 查看远程分支
git br <new_branch> # 创建新的分支
git br -v           # 查看各个分支最后提交信息
git br --merged     # 查看已经被合并到当前分支的分支
git br --no-merged  # 查看尚未被合并到当前分支的分支

git co <branch>     # 切换到某个分支
git co -b <new_branch> # 创建新的分支,并且切换过去
git co -b <new_branch> <branch>  # 基于branch创建新的new_branch

git co $id          # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除
git co $id -b <new_branch>  # 把某次历史提交记录checkout出来,创建成一个分支

git br -d <branch>  # 删除某个分支
git br -D <branch>  # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)

分支合并和rebase

git merge <branch>               # 将branch分支合并到当前分支
git merge origin/master --no-ff  # 不要Fast-Foward合并,这样可以生成merge提交

git rebase master <branch>       # 将master rebase到branch,相当于:
git co <branch> && git rebase master && git co master && git merge <branch>

Git补丁管理(方便在多台机器上开发同步时用)

git diff > ../sync.patch         # 生成补丁
git apply ../sync.patch          # 打补丁
git apply --check ../sync.patch  # 测试补丁能否成功

Git暂存管理

git stash                        # 暂存
git stash list                   # 列所有stash
git stash apply                  # 恢复暂存的内容
git stash drop                   # 删除暂存区

Git远程分支管理

git pull                         # 抓取远程仓库所有分支更新并合并到本地
git pull --no-ff                 # 抓取远程仓库所有分支更新并合并到本地,不要快进合并
git fetch origin                 # 抓取远程仓库更新
git merge origin/master          # 将远程主分支合并到本地当前分支
git co --track origin/branch     # 跟踪某个远程分支创建相应的本地分支
git co -b <local_branch> origin/<remote_branch>  # 基于远程分支创建本地分支,功能同上

git push                         # push所有分支
git push origin master           # 将本地主分支推到远程主分支
git push -u origin master        # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
git push origin <local_branch>   # 创建远程分支, origin是远程仓库名
git push origin <local_branch>:<remote_branch>  # 创建远程分支
git push origin :<remote_branch>  #先删除本地分支(git br -d <branch>),然后再push删除远程分支

Git远程仓库管理

git remote -v                    # 查看远程服务器地址和仓库名称
git remote show origin           # 查看远程服务器仓库状态
git remote add origin git@github:robbin/robbin_site.git         # 添加远程仓库地址
git remote set-url origin git@github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址)
git remote rm <repository>       # 删除远程仓库

创建远程仓库

git clone --bare robbin_site robbin_site.git  # 用带版本的项目创建纯版本仓库
scp -r my_project.git git@git.csdn.net:~      # 将纯仓库上传到服务器上

mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器创建纯仓库
git remote add origin git@github.com:robbin/robbin_site.git    # 设置远程仓库地址
git push -u origin master                                      # 客户端首次提交
git push -u origin develop  # 首次将本地develop分支提交到远程develop分支,并且track

git remote set-head origin master   # 设置远程仓库的HEAD指向master分支

也可以命令设置跟踪远程库和本地库

git branch --set-upstream master origin/master
git branch --set-upstream develop origin/develop
分享到:
评论

相关推荐

    git 常用命令备忘录

    git 常用命令备忘录, 都是开发中常用的, 必要时可拿来看看

    Git常用命令备忘 - robbin的自言自语1

    在本文中,我们将深入探讨Git的一些常用命令,这些命令对于日常开发和协作至关重要。 首先,配置Git是使用它的第一步。通过`git config`命令,我们可以设置用户信息,如用户名和邮箱,以及自定义别名以简化命令输入...

    Git Cheet Sheet - V2

    Git常用命令备忘表

    git-flow 备忘清单

    本文将详细介绍 `git-flow` 的基本概念、安装步骤、初始化过程以及常用命令操作。 #### 二、安装与配置 ##### 安装 `git-flow` 可以在多种操作系统上进行安装: - **OS X**: - 使用 Homebrew: `brew install ...

    git常用命令保存快速使用

    Git常用命令快速使用指南 Git 是一个免费、开源的版本控制系统,可以帮助开发者更好地管理代码修改记录。下面是 Git 常用命令的备忘录,涵盖了 Git 的配置、常用命令、查看、添加、提交、删除、找回、重置修改文件...

    git各种常用操作命令备忘

    包含了git的基本操作命令格式描述,包括本地仓库的配置、本地仓库的数据归档、以及远程仓库的数据同步及归档操作命令。此文档适合对git使用不太熟练,需要使用git在本地仓库或远程仓库进行开发的人员。命令表简洁...

    Git和GitHub教程 2017-03-21

    - **GIT常用命令备忘**: - 总结常用的Git命令及其用途。 - **2016年最受欢迎的编程语言**: - 分析2016年最受开发者欢迎的语言。 - **GitHub秘籍**: - 分享提高GitHub使用效率的小技巧。 - **史上最浅显易懂的Git...

    linux初级命令备忘录中文版.pdf

    本备忘录旨在帮助对Linux感兴趣的人员快速掌握一些常用命令,以便于日常操作和开发工作。 1. **SSH (Secure Shell)**:SSH是一种加密的网络协议,允许用户进行远程登录和命令执行。在Windows上,可以使用PuTTY和...

    常用命令(备忘与分享)

    标题中的“常用命令(备忘与分享)”表明这个压缩包文件包含了有关计算机操作系统,特别是Linux系统中的常用命令的总结和笔记。这些命令是系统管理员、开发者或者任何在Linux环境中工作的人日常操作的基础,用于管理...

    将Git的常用操作配置为别名alias(懒人专用,事半功倍!).pdf

    在git操作中,需要经常输入命令,反复输入不胜其烦,参考总结了一下。alias真是好东西! 虽然简短,但是自己为了找配置文件,还是琢磨了好一阵,特此分享备忘。

    硬件工程师使用git控制版本说明

    本文将主要介绍硬件工程师使用Git控制版本的说明,包括下载安装、软件说明、使用说明、配置远程仓库、Git的常用命令和工作方式建议、分支的使用、查看修改的历史等。 一、下载安装 Git可以从官网下载,下载地址为...

    git-cheat-sheet.pdf

    本备忘录列出了部分基础Git命令和操作,方便开发者快速记忆和使用。 1. 初始化Git仓库 在指定的目录下创建一个空的Git仓库,可以使用 `git init &lt;directory&gt;` 命令。如果不带任何参数,Git将在当前目录下初始化仓库...

    bash-git-cheatsheet:我的Bash和Git命令备忘单

    这篇备忘单将深入探讨这两个工具的基本概念、常用命令以及它们如何协同工作。** ### Bash基础知识 **1. Bash命令行基础** - **导航**:使用`cd`命令改变目录,`ls`列出目录内容。 - **文件操作**:`touch`创建新...

    git-aliases:一个漂亮的git-alias备忘单。 包括印刷版

    Git别名是Git工具中的一个强大特性,它允许用户为常用的Git命令创建简短的别名,以便于记忆和快速输入。"git-aliases"项目就是针对这一功能的一个实用资源,它提供了一系列预定义的Git别名,以及一个方便的备忘单,...

    github 备忘单 英文版

    本备忘单涵盖了 Git 的基本概念和常用命令,包括 Git 的安装、配置、克隆、推送、拉取、合并、分支管理等内容。 Git 介绍 Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 于 2005 年创立。Git 的设计目标...

    github常用简单指令

    本篇备忘单将介绍一些在GitHub上常用的git指令,适合初学者参考使用。 首先,进行git配置是进行版本控制前的基本准备工作。通过`git config --global user.name "[name]"`指令,用户可以设置全局的用户名,该名称将...

    git-cheatsheet-card:Git备忘单的TabHub资源

    Git备忘单如"git-cheatsheet-card"就成为了一个宝贵的参考资料,它通常包含了Git的常用命令、工作流以及一些高级功能的速查指南。这些卡片通常设计简洁,易于阅读,便于在需要时快速查阅。 "git-cheatsheet-card...

    Git小抄「Git Cheat Sheet」-crx插件

    该扩展包括方便的Git术语,常用命令以及有关每个Git命令的语法和参数的帮助。 Jason Long的Git徽标获得了知识共享署名3.0未移植许可证的许可。 了解更多:http://git-scm.com/downloads/logos 支持语言:English

    linux-自动显示tmux中任何命令的备忘表或注释

    `tmux`的常用命令包括`Ctrl+b`后接`:new`创建新会话,`Ctrl+b`后接`d`断开会话,`Ctrl+b`后接`(`和`)`切换到上一个或下一个窗口,以及`Ctrl+b`后接`%`和`"`分割垂直或水平的窗格。 `hozza-tmux-hints`这个插件的...

    git_sheet:该备忘单总结了常用的Git命令行说明,以供快速参考

    以上只是Git常用的一部分命令,实际使用中可能需要更复杂的操作,如子模块、 cherry-pick、rebase等。通过`git help &lt;command&gt;`或在线资源,可以学习更多高级功能。`git_sheet`这样的备忘单非常有助于日常开发中的...

Global site tag (gtag.js) - Google Analytics