一,新建项目

 git init

初始化一个git仓库

 git init 项目名称

新建一个目录,并为其初始化git仓库

 git clone url

克隆一个项目

二,配置项

 git config --list

显示当前git配置

 git config -e --global

编辑git配置文件

 git config --global user.name "用户名"git config --global user.email "邮箱"

配置仓库关联用户的用户名和邮箱,–global是配置全局的

 git config  user.name "用户名"git config  user.email "邮箱"

配置当前仓库的用户名和邮箱,非全局

三,提交代码相关指令

 git add .

将所有代码改动暂存

 git rm --cached 文件名

将指定文件移除暂存区

 git mv 原文件名 新文件名

将暂存区的某个文件改名

 git add -p

对于同一文件的多处改动,分次提交

 git commit -m '本次提交信息'

将暂存区代码提交到仓库区

 git commit 文件名1 文件名2 -m '本次提交信息'

将指定文件暂存区代码提交到仓库区

 git commit -v

提交时显示所有的改动

 git commit --amend -m '提交信息'

将本次提交替代上一次提交。可用来改写上一次提交的描述信息。

 git push 远程分支名

上传代码到指定远程分支,不加远程分支名就会默认上传到默认分支

 git push --force

强行推送代码,即使有冲突

 git push --set-upstream origin 分支名

推送代码到某个分支,并把这个分支设置为默认推送分支

四,分支

 git branch

列出本地所有分支,加-a是列出本地和远程所有分支,加-r是列出所有远程分支

 git branch 分支名称

新建一个分支,但依旧停留在当前分支

 git checkout -b 分支名称

新建一个分支,并切换到该分支

 git branch --track 分支名 远程分支名

新建一个分支,与指定的远程分支建立追踪关系

 git checkout 分支名

切换到指定分支

 git checkout -

切换到上一分支

 git merge 分支名

合并指定分支到当前分支

git cherry-pick 某次commit的id

选择一个commit,合并到当前分支

git branch -d 分支名

删除分支

git push origin --delete 分支名

删除远程分支

五,标记

git tag

列出当前commit的所有标记

git tag tag名

在当前commit新建一个标记

git tag tag名 commitId

在指定commit新建一个标记

git tag -d tag名

删除本地tag

git push origin :refs/tags/tag名

删除远程tag

git show tag名

查看这个tag信息,包括commit提交的改动

git push tag名

提交指定标记对应的commit

git push --tags

提交所有tag对应的commit

六,查看提交有关信息

git status

查看当前分支的提交状态

git log

显示当前分支历史提交

git log --stat

显示历史提交以及每次commit的变动

git log -S 关键字

根据关键字搜索提交历史

git log tag名 HEAD --pretty=format:%s

显示某次tag对应的commit之后的所有改动,每个commit占一行

git log tag名 HEAD --grep feature

显示某次tag对应的commit之后的所有改动

git log --follow 文件名

显示某个文件的改动历史记录

git log -p 文件名

显示某个文件每次提交具体改动

git log -n --pretty --oneline

显示过去n次提交,每条信息只占一行,不显示多余信息

git shortlog -sn

显示所有提交过的用户,按提交次数排序

git blame 文件名

显示指定文件所有人的修改记录

git diff

显示工作区和暂存区的差异

git diff --cached 文件名

显示某个文件暂存区和上一次commit的差异

git diff HEAD

显示工作区和最新commit的差异

git diff commitId1 commitId2

显示两次提交间的差异

git show commitId

显示某次commit的改动,中间加–name-only,只显示文件名,不显示具体改动

git show commitId:文件名

显示某次提交时,某个文件内容

git reflog

显示当前分支的最近几次提交

七,与远程交互

git fetch 仓库名

下载这个远程分支的所有改动

git remote -V

显示所有远程仓库

git remote show 仓库名

显示某个远程仓库的信息

git remote add 仓库名 url

新增一个远程仓库

git remote remove 仓库名

移除一个远程仓库

git pull

拉取远程仓库代码

八,撤销

git checkout 文件名

恢复暂存区的指定文件到工作区,即丢弃更改

git checkout commitId 文件名

恢复指定文件的某次提交到暂存区和工作区

git checkout .

恢复暂存区的所有文件到工作区,即丢弃所有更改

git reset commitId

将当前分支指向从HEAD改为指定commit,即版本回退到commitId, git reset --hard commitId为强制切换,可能会丢代码

git remote --keep commitId

将当前分支指向从HEAD改为指定commit,但保持缓存区和工作区不变

git revert commitId1

新建一个commit,将指定commitId1撤销后,当前分支指向这个新建的commit

九,其他

git archive --output "包名"  要打包的分支名
或者
git archive --format 压缩类型,如“tar.gz”  --output 包名 分支名

生成一个压缩包

git archive --format 压缩类型,如“tar.gz”  --output 包名 commitId

将某次commit的代码生成压缩包

git format-patch commitId

根据某次commit生成补丁包,在文件根目录会有一个.patch文件,就是生成的补丁

git format-patch commitId1 commitId2
或者
git diff commitId1 commitId2 > 补丁名

生成两个commit之间的补丁

git format-patch HEAD^

有几个^就会打几个patch,从最近一次打起

git format-patch -1

最近一次的patch,-2即最近两次的patch

git am 补丁名称xxx.patch

打补丁,在使用git am之前, 你要首先git am --abort 一次,来放弃掉以前的am信息,这样才可以进行一次全新的am。

一个合理的应用补丁流程

先检查patch文件:git apply --stat xx.patch
检查能否应用成功:git apply --check xx.patch
打补丁:git am --signoff < xx.patch

–signoff的作用是增加签名在提交消息末尾的一行,用于证明谁是提交的作者

十,遇到的问题

1,解决git每次和远程分支交互时,都要输入用户名和密码的问题

git config --global credential.helper store

2,git push卡住的话,说明传了很大的文件,大概率是项目中没有.gitignore文件,导致没有上传过滤,把依赖包等都传上去了

3,git push提示找不到分支,大概率是没有权限

4,在用户凭据管理中可删除对应git仓库的用户名和密码

git指令大全git生成压缩包git生成某次commit的补丁(见九)相关推荐

  1. Git指令大全——基础入门(一)

    git的基本使用方法(必会) 第一步: window 本机电脑安装 git 软件(只需要一次) 第二步: 配置环境变量(只需要一次) 安装到 D:\software\git\目录,把 bin 目录路径 ...

  2. Git命令大全:轻松掌握Git工具,提高代码管理效率

    文章目录 Git命令大全 一.前言 二.安装 1. Windows系统上的Git安装 2. Linux系统上的Git安装 3. MAC系统上的Git安装 三.配置 四.配置用户名和邮箱地址 五.创建仓 ...

  3. git 指令学习和熟悉——learn git branching练习笔记

    前言: 在工作中我们用到git系列工具机会很多,也常常需要熟悉git 相关指令,那怎样才能高效学习git指令呢?我们可以通过小游戏learn git branching和菜鸟教程完成学习. 小游戏链接 ...

  4. 个人git指令成长史

    这是一部无聊的git成长史.记录一下我学到的git指令.当然齐全的git指令满天飞,我也这里只是积累使用. 1 从git拉取项目 xxx.git是地址,xx是重命名 git clone xxx.git ...

  5. Git查看本机 ssh 公钥或生成公钥

    1. 第一步查看git的ssh公钥是否存在 win+S 键打开搜索框,输入Git Bash并打开 然后在Git Bash输入以下命名查看是否有密钥,如果没有图中蓝色的文件则没有密钥,需要重新生成. 如 ...

  6. Git 常用指令大全

    文章目录 一.Git 原理 二.新建代码库 三.信息配置 四.增.删文件 五.代码提交 六.远程同步 七.分支管理 八.标签管理 九.信息查看 十.操作撤销 十一.相关链接 一.Git 原理 二.新建 ...

  7. 常用Git指令常用git命令清单

    下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一. ...

  8. 常用的git命令大全

    下面的是我们在日常工作中常用到的git 命令.大家工作中有什么常用到的命令被我遗漏的都可已在评论区反馈我会更新上去.以便以后查阅: 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下.Wor ...

  9. 一文带你解决Git那些事~ git 指令 实用指南

    Git是目前世界上最先进的分布式版本控制系统.虽然日常中最多的在上面找项目代码...... Git有非常完善版本控制流程,适合团体和个人的开发,提升开发效率,企业开发必备!日常使用的时候可能接触更多的 ...

最新文章

  1. 从paxos到raft zab,为何raft能够“独领风骚”
  2. 【新书】用Python3六步掌握机器学习第二版,469页pdf,Mastering Machine Learning
  3. 【剑指offer】面试题 5. 替换空格
  4. dotNET Core 3.X 使用 Web API
  5. 先进的NumPy数据科学
  6. php的控制器,php-模块与控制器
  7. 微软邮件服务器名称,邮箱服务器角色概述
  8. 【kafka】kafka 指定分区消费 不会触发 reblance
  9. Java中抽象类和接口
  10. 当前主流读取Excel技术对比
  11. c++多态与java多态性_Java中的多态性
  12. mysql封装增删改查_jdbc封装一行代码实现增删改查
  13. scanf 与 scanf_s
  14. 传输层的几个部分的ALCAP、SSCOP、MTP3-B、SCCP、SAAL、SCCF、STC、IP、UDP、GTPU
  15. 工科数学分析寒假预习day3 一般级数的敛散性
  16. C++ 通讯录管理系统
  17. linux lcd cd,linux LCD调试
  18. 汉画轩区块链技术应用智慧酒店提升舒适度节能成本
  19. 软件测试中的因果图法,判定表法场景法和正交表法
  20. oppo测试面经汇总,来自牛客网

热门文章

  1. localStorage setItem getItem
  2. 基于MATLAB的飞蛾扑火算法在多目标优化问题中的应用
  3. 从OkHttp引入Cronet支持quic协议
  4. 金山快盘的安全性太差了
  5. WARNINGS: ?: (2_0.W001) Your URL pattern ‘^s‘ has a route that contains ‘(?P<‘, begins with…
  6. 关于 Android 工作的心得随笔
  7. Android-快速设置-Quick settings tile
  8. 怎样在ipad上显示pc_如何将iPad用作PC或Mac的辅助显示器
  9. 地心直角坐标系转经纬高
  10. pandas 将字符串映射为数字的方法