git指令大全git生成压缩包git生成某次commit的补丁(见九)
一,新建项目
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的补丁(见九)相关推荐
- Git指令大全——基础入门(一)
git的基本使用方法(必会) 第一步: window 本机电脑安装 git 软件(只需要一次) 第二步: 配置环境变量(只需要一次) 安装到 D:\software\git\目录,把 bin 目录路径 ...
- Git命令大全:轻松掌握Git工具,提高代码管理效率
文章目录 Git命令大全 一.前言 二.安装 1. Windows系统上的Git安装 2. Linux系统上的Git安装 3. MAC系统上的Git安装 三.配置 四.配置用户名和邮箱地址 五.创建仓 ...
- git 指令学习和熟悉——learn git branching练习笔记
前言: 在工作中我们用到git系列工具机会很多,也常常需要熟悉git 相关指令,那怎样才能高效学习git指令呢?我们可以通过小游戏learn git branching和菜鸟教程完成学习. 小游戏链接 ...
- 个人git指令成长史
这是一部无聊的git成长史.记录一下我学到的git指令.当然齐全的git指令满天飞,我也这里只是积累使用. 1 从git拉取项目 xxx.git是地址,xx是重命名 git clone xxx.git ...
- Git查看本机 ssh 公钥或生成公钥
1. 第一步查看git的ssh公钥是否存在 win+S 键打开搜索框,输入Git Bash并打开 然后在Git Bash输入以下命名查看是否有密钥,如果没有图中蓝色的文件则没有密钥,需要重新生成. 如 ...
- Git 常用指令大全
文章目录 一.Git 原理 二.新建代码库 三.信息配置 四.增.删文件 五.代码提交 六.远程同步 七.分支管理 八.标签管理 九.信息查看 十.操作撤销 十一.相关链接 一.Git 原理 二.新建 ...
- 常用Git指令常用git命令清单
下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一. ...
- 常用的git命令大全
下面的是我们在日常工作中常用到的git 命令.大家工作中有什么常用到的命令被我遗漏的都可已在评论区反馈我会更新上去.以便以后查阅: 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下.Wor ...
- 一文带你解决Git那些事~ git 指令 实用指南
Git是目前世界上最先进的分布式版本控制系统.虽然日常中最多的在上面找项目代码...... Git有非常完善版本控制流程,适合团体和个人的开发,提升开发效率,企业开发必备!日常使用的时候可能接触更多的 ...
最新文章
- 从paxos到raft zab,为何raft能够“独领风骚”
- 【新书】用Python3六步掌握机器学习第二版,469页pdf,Mastering Machine Learning
- 【剑指offer】面试题 5. 替换空格
- dotNET Core 3.X 使用 Web API
- 先进的NumPy数据科学
- php的控制器,php-模块与控制器
- 微软邮件服务器名称,邮箱服务器角色概述
- 【kafka】kafka 指定分区消费 不会触发 reblance
- Java中抽象类和接口
- 当前主流读取Excel技术对比
- c++多态与java多态性_Java中的多态性
- mysql封装增删改查_jdbc封装一行代码实现增删改查
- scanf 与 scanf_s
- 传输层的几个部分的ALCAP、SSCOP、MTP3-B、SCCP、SAAL、SCCF、STC、IP、UDP、GTPU
- 工科数学分析寒假预习day3 一般级数的敛散性
- C++ 通讯录管理系统
- linux lcd cd,linux LCD调试
- 汉画轩区块链技术应用智慧酒店提升舒适度节能成本
- 软件测试中的因果图法,判定表法场景法和正交表法
- oppo测试面经汇总,来自牛客网
热门文章
- localStorage setItem getItem
- 基于MATLAB的飞蛾扑火算法在多目标优化问题中的应用
- 从OkHttp引入Cronet支持quic协议
- 金山快盘的安全性太差了
- WARNINGS:
?: (2_0.W001) Your URL pattern ‘^s‘ has a route that contains ‘(?P<‘, begins with…
- 关于 Android 工作的心得随笔
- Android-快速设置-Quick settings tile
- 怎样在ipad上显示pc_如何将iPad用作PC或Mac的辅助显示器
- 地心直角坐标系转经纬高
- pandas 将字符串映射为数字的方法