Git积累

1.git配置信息
(1).配置用户和邮箱
git config –global user.name ‘your_name’
git config –global user.email ‘your_email@domail.com’
(2).config
只对某个仓库有效:git config –local
对当前用户所有仓库有效: git config –global
对系统所有登陆的用户有效: git config –system
显示config的配置,加–list:
git config –list –local
git config –list –global
git config –list –system
2.创建git仓库:
(1).把已有的项目代码纳入git管理
cd项目代码所在的文件夹
git init
(2).新建的项目直接使用git管理
cd某个文件夹
git init your_project #会在当前路径下创建和项目名称同名的文件夹
cd your_project
(3).提交文件:需要把文件先提交到暂存区再提交或直接使用 git commit 文件名 -m’提交备注’ 直接提交
git add 文件名 添加到暂存区 git add 后可以加多个文件
git commit -m’提交备注’ 提交文件
git status 查看当前提交状态
git log 查看日志
3.工作区和暂存区
工作目录 添加到暂存区 再提交到版本历史
git add -u 把git管理的所修改的所有文件添加到暂存区
4.给文件重命名 git mv 文件名 更并的文件名 然后 git commit -m’提交理由’
重命名文件 mv
将重命名后的文件添加到git的暂存区 git add
删除git中之前的文件 git rm 文件修改之前的名字
5.通过git log查看版本演变历史
git log –oneline /git log –oneline –all
git log -n4 –online. 查看最近4次提交记录. git -n4 –online –graph
查看git分支:git branch -av
查看所有日志:git log –all
图形化查看日志:git log –all –graph
查看git log所有指令:git help –web log
6.通过图形界面工具来查看版本历史:gitk
Patth. 是每次变更提交的文件集
Tree 文件的所有内容
Author 作者
Committer 提交人
7. .git目录
HEAD 文本文件 内容 git当前仓库的分支名称 切换分支的时候HEAD会发生变化
Config :存储的user信息 修改后会影响用户的变化
Refs :git 仓库的标签、里程碑(tags)、分支信息(heads)
8.commit、tree和bolb三个对象之间的关系
commit中包含 tree parent author committer
tree包含 tree blob
blob包含文件内容
Git cat-file -p ID 查看当前信息
9.分离头指针:指的是变更没有指定分支
10.HEAD和branch
创建新分支:git checkout -b 新分支名称
HEAD可以指向分支或是某一个commit
git dff ID1 ID2 比较差异
11.删除不需要的分支:git branch -D/d 分支名 (D 会直接删除 d 删除分支时会有提示)
查看分支:git branch -av
12.修改最新的commit的message:git commit –amend 会弹出一个界面 然后修改message保存
修改旧的commit的message:git rebase -i 选择当前commit的父亲的ID 会弹出一个界面 根据界面提示的命令修改
reword 要修改的commitID 保存退出 会再进入另一个界面 然后修改commit的message保存
只适合本地分支,不建议修改团队分支
13. 把多个连续commit整理成一个:git rebase -i 选择要合并的最后一个commit ID 会进入一个界面 选择最第二早的commit的ID在前边加上 s(squash) 保存然后会进入另一个界面 会提示哪些commit要合并然后添加合并的理由保存即可
14.把间隔几个commit整理成一个:git rebase -i 选择最后一个commit ID 会进入一个页面 然后把最古老的commitID添加在第一行 pick commit ID,然后把合并的commit合在一起 s 要合并的commit ID 放在要合并的commit下边 保存
git rebase –continue 编写要合并的原因
15.比较暂存区和HEAD所含文件的差异:git diff –cached (暂存区和HEAD之间的差异)
16.比较工作区和暂存区所含文件的差异:比较所有文件的差异:git diff
比较指定文件的差异:git diff — 文件名 (可以是多个文件名)
17.让暂存区恢复成HEAD一样:git reset HEAD (会把暂存区所有文件取消掉)
18.让工作区的文件恢复为和暂存区一样:git checkout — 要恢复的文件名
19.取消暂存区部分文件的更改:git reset HEAD — 要恢复的文件名
20.消除最近的几次提交:git reset –hard commit ID
21.不同提交的指定文件的差异:git diff 分支名1 分支名2 比较两个分支差异
比较两个分支中指定文件的差异:git diff 分支名1 分支名2 — 文件名
22.删除文件:git rm 文件名
23.开发中临时添加了临时任务:git stash(暂时存放)
git stash apply(把之前暂存的内容放到工作区 暂存区的内容还在)
git stash pop 把之前暂存的内容放到工作区 清理掉暂存区的内容
git stash list 查看暂时存放区
24.指定不需要Git管理的文件:创建一个 .gitignore 文件夹/文件 在里面添加git不需要管理的文件 保存即可。可以参考GitHub 提供的gitignore 的各种编程语言的配置
25.将git仓库备份到本地:
常用协议 语法格式 说明
本地协议(1) /path/to/repo.git 哑协议
本地协议(2) file:///path/to/repo.git 智能协议
Http/https 协议 http://git-server.com:port/path/to/repo.git 平时接触的都是
https://git-server.com:port/path/to/repo.git 智能协议
ssh协议 user@git-server.com:path/to/repo.git 智能协议
哑协议与智能协议
区别:哑协议传输进度不可见;智能协议传输可见
传输速度:智能协议比哑协议传输速度快

git clone — bare 仓库地址 本地仓库名称 :克隆不带工作区的仓库
把变更同步到远端:git remote -v
git remote add 仓库名 远端仓库地址
git push 仓库名

Original: https://www.cnblogs.com/qinxu/p/13976319.html
Author: 【cosmo】
Title: Git积累

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/37658/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • centos7搭建yum源

    记录三种方式:1、本地yum源(只有本服务器可有) 2、局域网yum源(同一局域网可用) 3、将网上rpm包下载到本地并将包放到局域网yum源下(解决ios软件缺乏) 一、本地yu…

    Linux 2022年10月15日
    0113
  • Linux中的defunct进程(僵尸进程)

    一、什么是defunct进程(僵尸进程)? 在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程。当用ps…

    Linux 2022年8月26日
    0122
  • Apache Shiro 身份验证绕过漏洞 (CVE-2020-1957)

    一、漏洞描述 Apache Shiro 是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。 在具有 Spring 动态控制器的 1.5.2 之前…

    Linux 2022年11月7日
    090
  • vim分屏功能总结

    vim的分屏功能总结起来,基本都是ctrl+w然后加上某一个按键字母,触发一个功能。(1)在shell里打开几个文件并且分屏:vim -On file1 file2 ……

    Linux 2022年11月7日
    0100
  • HCNP Routing&Switching之VRRP基础

    前文我们了解了链路高可用技术链路聚合相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16279078.html;今天我们来聊一聊另一…

    Linux 2022年8月26日
    0132
  • 聊斋-河间生

    人的善恶在转瞬之间就可以改变,发现错误时往往已经差之千里了,但是发现错误及时改正这不也是很美好的一件事情么?河间生就是讲了这么一件事情。 主角简介:河间某生,家里比较富裕,烧火用的…

    Linux 2022年11月8日
    0108
  • Redis6 源码调式

    Redis6 源码调式 安装Cygwin 1、下载安装Cygwin 去Cygwin的官方网站http://www.cygwin.com/ window 64位请选择 setup-x…

    Linux 2022年9月14日
    076
  • 【spring-boot】配置Redis工具类

    如何在spring-boot中使用Redis工具类 修改pom.xml文件 新增spring-boot-starter-data-redis配置 org.springframewo…

    Linux 2022年9月14日
    0115
  • Linux程序前台后台切换

    Linux程序前台后台切换1、在Linux终端运行命令的时候,在命令末尾加上 & 符号,就可以让程序在后台运行Ubuntu$”>root@Ubuntu$ …

    Linux 2022年8月13日
    0118
  • Linux内核printk打印ip地址

    Linux内核printk打印ip地址 https://www.kernel.org/doc/Documentation/printk-formats.txt http://eli…

    Linux 2022年8月13日
    0127
  • [LINUX] Arch Linux 硬盘拷贝式装系统+新增 home 分区

    前言 1. 实操 1.1 整个磁盘拷贝 1.2 创建 home 分区 1.3 修改 fstab 实现自动挂载 2. 涉及到的知识点 2.1 fstab 2.2 dd 命令 2.3 …

    Linux 2022年9月10日
    0139
  • linux diff对比文件

    diff 是 Unix 系统的一个命令,用来比较两个文本文件的差异。一般用法: $diff file1 file2 具体参数可以查询 man diff diff 有三种输出格式 正…

    Linux 2022年8月8日
    0247
  • Ubuntu安装scrcpy完成手机投屏和控制

    PC端安装scrcpy 运行 ~$ sudo snap install scrcpy 手机端设置在手机端开发者模式中找到USB调试和USB调试(安全设置)并打开 打开scrcpy将…

    Linux 2022年8月26日
    0166
  • Mysql数据库体系

    Mysql数据库体系如下(手绘): 描述: 1.DBMS:database system management是数据库管理软件,平时我们使用的数据库的全称,是C/S架构(clien…

    Linux 2022年11月8日
    067
  • 吴军《浪潮之巅》阅读随笔(二)信息产业的规律性

    在《信息产业的规律性》这本书的最后一章,有几个问题让我感兴趣。 [En] In the last chapter of the book, “the regularit…

    Linux 2022年11月8日
    097
  • 剑指offer计划24( 数学中等)—java

    1.1、题目1 剑指 Offer 14- I. 剪绳子 1.2、解法 这几天的题都不在行。。。。 1.3、代码 class Solution { public int cuttin…

    Linux 2022年10月31日
    0120
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总