本文记录了一些常用 Git 命令行操作的具体使用方式

git clone

  • git clone REPOSITORY_URL

    拉取仓库,并使用仓库名作为本地文件名

  • git clone REPOSITORY_URL FOLDER

    拉取仓库,并使用 FOLDER 作为本地文件名

git fetch

  • git fetch origin

    更新所有远程分支

  • git fetch origin BRACH

    更新指定远程分支

git pull

  • git pull origin

    相当于 fetch + merge 对应的上游分支

  • git pull origin BRACH

    拉取指定分支到当前分支

  • git pull origin --rebase master

    让本地分支重新基于远端的 master 分支

git push

  • git push origin

    把分支推到远端对应的上游分支

  • git push origin BRANCH

    把分支推到远端对应的分支

  • git push --set-upstream origin BRANCH

    把分支推到远端对应的分支,并将其设为上游分支(一般第一次提交自己的开发分支需要用到)

  • git push -f origin

    把分支强推到远端对应的上游分支(会覆盖远端分支,需要慎用)

  • git push origin -d BRANCH

    删除远程分支

git branch

  • git branch

    列出本地所有分支

  • git branch -a

    列出本地和远程分支

  • git branch -m NEW_BRANCH

    更新当前分支名

  • git branch -d BRANCH

    删除已合并的分支

  • git branch -D BRANCH

    强制删除分支(即使未合并)

git checkout

  • git checkout BRANCH

    切到对应分支

  • git checkout -b NEW_BRANCH

    创建新分支

  • git checkout -b NEW_BRANCH BRANCH

    基于 BRANCH 创建新分支

  • git checkout SHA-1

    切换到某个提交,也可以用 HEAD~N(N 为 1, 2, 3…)切到上 N 个提交

  • git checkout SHA-1 /PATH/TO/FILE

    把文件还原到相应的提交版本

  • git checkout —-theirs /PATH/TO/FILE

    有冲突时使用对方的文件版本

  • git checkout --ours /PATH/TO/FILE

    有冲突时使用自己的文件版本

  • git checkout -

    切换到之前的分支,适合在两个分支频繁切换时使用

git add

  • git add .

    把所有增加/修改/删除的文件标识为要提交

  • git add /PATH/TO/FILE

    只把单一文件标识为要提交,当有其他不需要提交的文件被修改时可使用

git commit

  • git commit

    git add 标识的文件进行提交

  • git commit -a

    把修改/删除的文件进行提交(如果有新增的文件,需要使用 git add 添加)

  • git commit -am "MESSAGE"

    把修改/删除的文件进行提交并指定注释(适用于临时或简单注释内容)

  • git commit --amend

    更新上一次提交,可以加上 -a 或在之前运行 git add 追加更新文件

  • git commit --amend --reset-author

    默认的更新提交是不改变作者的,如果需要改变可以明确配置

git cherry-pick

  • git cherry-pick SHA-1

    把某个提交应用到当前分支

git status

  • git status

    查看目前状态

git diff

  • git diff

    当前所有修改到的,没被标识为要提交的文件的更新内容

  • git diff --cache

    当前所有修改到的,并被标识为要提交的文件的更新内容

  • git diff /PATH/TO/FILE

    指定文件的更新内容,同样可以用 --cache 区分

git log

  • git log

    详细显示所有记录

  • git log -n 10

    显示最近 10 条记录

  • git log --oneline

    简要显示所有记录

  • git log --oneline master ^BRANCH | wc -l

    可以计算 BRANCH 和 master 分支相差多少个提交

git stash

  • git stash

    暂存修改/删除,或已标识为要 commit 的新增的文件

  • git stash -u

    暂存修改/删除/新增的文件,即新增文件可以不用 git add

  • git stash pop

    把暂存的文件重新放出来

git revert

  • git revert SHA-1

    通过形成一个新提交取消某个提交

  • git revert SHA-1 -m 1

    如果是合并节点,需要指定要取消提交对应的父节点

    例如合并是把 BRANCH_2 合并到 BRANCH_1,那么要在 BRANCH_1 取消这次合并,就应该指定 m 为 1(大多数情况都是这样)

git reset

  • git reset

    取消对要 commit 的文件的标识(相当于 git add 的撤销)

  • git reset --hard

    取消修改/删除或已标识为要 commit 的新增的文件的更新

  • git reset SHA-1

    取消从 SHA-1 之后的所有提交,但是保留提交文件的更新

    如果只想取消上一次提交,SHA-1 可以设为 HEAD^

  • git reset --hard SHA-1

    取消从 SHA-1 之后的所有提交,而且不保留提交文件的更新

git rebase

  • git rebase BRANCH

    让当前分支重新基于 BRANCH

  • git rebase -i SHA-1

    更新 SHA-1 以后的提交,可以 pick/pedit/edrop/dsquash/s 相应提交

    如果第一个提交使用 p,后面的提交使用 s,可以把多个提交合并成一个提交

git merge

  • git merge BRANCH

    把 BRANCH 合并到当前分支,尽量不形成合并节点

  • git merge --no-ff BRANCH

    把 BRANCH 合并到当前分支,并确保形成合并节点

  • git merge --squash BRANCH

    把 BRANCH 和当前分支的变更作为标识为要提交的内容,需要运行 git commit 完成只有一个提交的合并

git update-index

  • git update-index --assume-unchanged /PATH/TO/FILE

    当某个文件被临时修改,但不想提交,也不适合放到 .gitignore,可以用此命令让 git 不将其识别为已修改

    如果这个文件是新增的,就不能用这个命令了,不过可以把文件路径加到 .git/info/exclude

  • git update-index --no-assume-unchanged /PATH/TO/FILE

    恢复以上文件的修改识别

常用 Git 命令行操作的更多相关文章

  1. windows下使用TortoiseGit代替Git命令行操作

    windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...

  2. 3.Git 命令行操作

    1.Git 命令行操作(本地库操作): 1.1. 创建本地库(本地库初始化): 第一步:首先在D盘建了个名为git空文件夹,命令行中cd到这个文件夹: 第二步:通过git init命令把这个目录变成G ...

  3. git 命令行操作(之前整理在有道的笔记)

    1. 常用命令 切换分支 git checkout [branch_name] 检出分支 git clone [git_URL] 更新分支 git pull origin [branch_name] ...

  4. GIT → 05:Git命令行操作

    5.1 打开命令行窗口 安装Git后,在资源管理器的空白处,单击鼠标右键打开窗口,点击 Git Bash Here ,打开Git命令行窗口,在窗口中可直接使用Linux命令操作: 5.2 初始化Git ...

  5. git 命令行操作

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 这里说一下在命令行对git进行操作 git init [在本地初始化一个git库] //当你的git服务器里面已经有文 ...

  6. git命令行操作

    从本地上传代码到仓库(假设已经建好仓库): 1.初始化: git init 2.将所有文件加入缓存区: git add * 3.提交当前工作空间的修改内容: git commit -m 'commit ...

  7. [Git] 1、常用Git命令行总结(一)

    一.GIT CLONE最常用的有如下几个 1.最简单直接的命令:git clone xxx.git 2.如果想clone到指定目录:git clone xxx.git “指定目录” 3.clone时创 ...

  8. git命令行操作详解

    目录 1.常用操作 1.1 新建代码库 1.2 配置 1.3 remote管理 1.4 添加和撤销操作 1.5 代码提交 1.6 分支操作 1.7 查看信息 1.8 pull操作 1.9 push操作 ...

  9. Git命令行操作(三)

    1. 本地库初始化 进入指定目录,如:D:\gitSpace\OA 右键-->Git Bash Here,执行命令: git init 效果如下: #查看.git目录 ls -la # 进入.g ...

  10. 3. git命令行操作之远程库操作

    3.1 基本操作 注册GitHub账号 在本地创建一个本地库并初始化 登录到gitHub创建一个远程库 注意:windows的凭据管理器中会保存github登录信息.如果要切换登录者,先删除相应凭据 ...

随机推荐

  1. Python模拟客户端

    本机客户端 import socket # 获取到socket sk = socket.socket() # 获取到地址 ip 和 端口号 server端的 address = ('127.0.0.1 ...

  2. JavaScript中的代码执行顺序

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head&g ...

  3. ES6 学习笔记(四)基本类型Number

    1.数值 1.1 .JavaScript数值的特点 不区分整数值和浮点数值. 所有数值均用浮点数值表示. 采用IEEE-754标准定义的64位浮点数格式表示. 整数在实际操作时(如数组索引),则是基于 ...

  4. nginx安装及相关操作

    工作中经常用到nginx,今天写个自动部署nginx的脚本.nginx版本选用:1.20.2 1.创建nginx安装脚本(nginx.sh) [root@iZ2ze7uphtapcv51egcm7rZ ...

  5. MYSQL一键导库脚本

    上周完成了一个性能测试环境搭建,有富余时间的同时研究了一个一键导库的脚本,一周的开始先马住!!! 一.思路 准备:54.158服务器上分别已经装好了MYSQL数据库 目的:把部分库从54导出并导入到1 ...

  6. 实现将机器A上的程序包复制到机器B并更新的脚本

    一.前言 之前有写过如何在单台服务器上执行脚本自动更新程序包,但平时测试过程中相信大部分公司都是需要测试人员在服务器A上进行功能测试,测试通过后再将程序包更新到服务器B上进行安全测试或者性能测试:今天 ...

  7. 学习ASP.NET Core Blazor编程系列十——路由(中)

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  8. 思维分析逻辑 3 DAY

    目录 指标分析 指标选择原则 指标体系建立 步骤 流量分析 渠道分析(从哪来) 常见渠道及渠道分类 渠道推广过程 渠道的指标 渠道分析方法 转化及价值分析(经过什么?产生什么价值?) 漏斗分析 功能模 ...

  9. Ueditor、FCKeditor、Kindeditor编辑器漏洞

    Ueditor.FCKeditor.Kindeditor编辑器漏洞 免责声明: Ueditor编辑器漏洞 文件上传漏洞 XSS漏洞 SSRF漏洞 FCKeditor编辑器漏洞 查看FCKeditor版 ...

  10. 云原生学习笔记-1-docker

    一.基础环境说明 1.操作系统:Centos7.6:1master:2node 2.docker版本:docker-ce 19.03.8-3 二.docker安装 1.使用阿里镜像仓库,mirror. ...