git介绍、安装、配置
文章目录
- 1. GIT介绍
- 2. 使用GIT的好处
- 3. GIT 安装
- 4. GIT 配置
- 4.1 GIT 初始化设置、命令别名设置
- 4.2 如果终端安装了oh-my-zsh,会带一堆git命令别名
- 4.3 GIT配置文件介绍
- 4.3.1 Linux、Mac OS系统
- 4.3.2 windows系统
- 5. git设置远程仓库账号密码(拉取、上传代码不用输入用户名密码)
- 6. git文件夹详解
- 7. 图形软件操作工具
1. GIT介绍
git是一个分布式版本控制软件,与常用的版本控制工具如CVS、Subversion不同,支持离线开发,离线存储。强大的分支功能,适合多个独立开发者协作。速度块。
用户从远端GIT仓库下载一个工程(project)时,这个工程的所有文件,包括版本历史,文件改动都会下载下来,这时 候本地GIT就演变成了一个服务器,所有的提交(check-in)、提出(check-out)都会在这个本地服务器上执行,当你确定一项修改之后,可 以再和远端仓库进行合并和同步(merge)。所以,GIT的安装和配置步骤无论在本机还是服务器上都是完全一样的。
2. 使用GIT的好处
- 更顺畅的工作流程,开发过程中,完全可以离线操作
- 快速,Git分布式架构使得本地仓库包含所有的历史版本信息,你可以在不同的版之间快速切换
- 弹性的本地分支,在svn下,你建一个分支需要把源代码复制到另外一个文件夹,而在Git下,创建分支的代价是非常小的,只需一条命令
- 仓库目录结构简洁,用Git复制一个项目,只会在项目根目录创建一个.git的目录,而其他目录很干净
- 内容按原数据方式存储,所有的版本信息都位于.git目录下
- 完整性好,更易于协作开发
- 用户群大,现在已经有成千上万个开源项目采用Git来做项目管理,github上更是有无数个代码仓库
参考链接: http://blog.csdn.net/fyx708711/article/details/52606252
3. GIT 安装
https://git-scm.com/book/zh/v2/起步-安装-Git
1、 linux系统的centos7.2安装:
sudo yum update
sudo yum install -y git
2、ubuntu 安装(一般系统默认就安装了)
# http://www.linuxidc.com/Linux/2016-09/135527.htm
sudo apt-get install git
3、Mac OS苹果系统(一般默认就安装了,需要事先安装了homebrew )
brew install git
4、windows系统,安装git终端:
https://git-for-windows.github.io/
安装教程:https://jingyan.baidu.com/article/20095761b48041cb0721b4fc.html
4. GIT 配置
linux、mac系统打开终端进行下面配置。
window系统打开git bash终进行下面端配置。
4.1 GIT 初始化设置、命令别名设置
下面操作linux, Mac OS, window 都适用。
设置用户名和邮箱:
# https://git-scm.com/book/zh/v2/起步-初次运行-Git-前的配置
# https://git-scm.com/book/zh/v2/自定义-Git-配置-Git
git config --global user.name name # 设置GIT的用户名
git config --global user.email you_email_addr@gmail.com # 设置GIT的邮箱
必须要的配置:
git config --global core.mergeoptions --no-edit # 关闭git pull产生的merge信息
git config --global commit.template ~/.gitmessage.txt # git 提交时编辑里面的模板
# 终端内容显示颜色:false:关闭, auto:自动,有的颜色会忽略, always:忽略掉管道和终端的不同,即在任何情况下着色输出
git config --global color.ui false# 使用VIM编辑器编辑作为GIT的默认编辑器
git config --global core.editor vim
# 存储credential(凭证),自动保存远程仓库账号密码
git config --global credential.helper store
# https://git-scm.com/book/zh/v2/Git-工具-凭证存储
# 关闭对0x80以上的字符进行quote, 解决git的中文乱码问题。
git config --global core.quotepath false
# 自动转换LF和CRLF(不同操作系统换行不同问题)。
git config --global core.autocrlf true
# 把CRLF自动转换警告取消
git config --global core.safecrlf false
# 设置git识别大小写
git config core.ignorecase false
# 修改git log中时间的显示格式为 2021-07-14 10:13:17 +0800
git config --global log.date iso8601
git config --global --replace-all log.date format:'%Y-%m-%d %H:%M:%S'# 查看上面的配置
git config --list
# 查看git路径
which git
# 删除一个配置项
git config --global --unset log.date
# 编辑配置文件
git config --global --edit
GIT命令别名 方便操作快捷(频繁git操作的时候,命令简化。):
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 alias.hist 'log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short'
git config --global alias.type 'cat-file -t'
git config --global alias.dump 'cat-file -p'
# log 只显示修改的文件
git config --global alias.ls 'log --stat'
# log 只用一行显示信息
git config --global alias.one 'log --pretty=oneline'
4.2 如果终端安装了oh-my-zsh,会带一堆git命令别名
Mac 用户和 Linux 用户通过在您的终端中运行以下命令来安装oh-my-zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
oh-my-zsh带的git命令别名:
g - git
gst - git status
gl - git pull
gup - git pull --rebase
gp - git push
gd - git diff
gdc - git diff --cached
gdv - git diff -w "$@" | view
gc - git commit -v
gc! - git commit -v --amend
gca - git commit -v -a
gca! - git commit -v -a --amend
gcmsg - git commit -m
gco - git checkout
gcm - git checkout master
gr - git remote
grv - git remote -v
grmv - git remote rename
grrm - git remote remove
gsetr - git remote set-url
grup - git remote update
grbi - git rebase -i
grbc - git rebase --continue
grba - git rebase --abort
gb - git branch
gba - git branch -a
gcount - git shortlog -sn
gcl - git config --list
gcp - git cherry-pick
glg - git log --stat --max-count=10
glgg - git log --graph --max-count=10
glgga - git log --graph --decorate --all
glo - git log --oneline --decorate --color
glog - git log --oneline --decorate --color --graph
gss - git status -s
ga - git add
gm - git merge
grh - git reset HEAD
grhh - git reset HEAD --hard
gclean - git reset --hard && git clean -dfx
gwc - git whatchanged -p --abbrev-commit --pretty=medium
gsts - git stash show --text
gsta - git stash
gstp - git stash pop
gstd - git stash drop
ggpull - git pull origin $(current_branch)
ggpur - git pull --rebase origin $(current_branch)
ggpush - git push origin $(current_branch)
ggpnp - git pull origin $(current_branch) && git push origin $(current_branch)
glp - _git_log_prettily
参考资料:
https://segmentfault.com/a/1190000007145316
https://www.hinjin.com/2018/04/13/%E5%A6%82%E4%BD%95%E5%8A%A0%E5%BF%AB%E4%BD%A0%E7%9A%84git%E6%93%8D%E4%BD%9C%EF%BC%9F/
4.3 GIT配置文件介绍
4.3.1 Linux、Mac OS系统
Git 使用一系列配置文件来保存你自定义的行为。
它首先会查找 /etc/gitconfig 文件,该文件含有系统里每位用户及他们所拥有的仓库的配置值。 如果你传递 --system 选项给 git config,它就会读写该文件。
接下来 Git 会查找每个用户的 ~/.gitconfig 文件(或者 ~/.config/git/config 文件)。 你可以传递 --global 选项让 Git 读写该文件。
最后 Git 会查找你正在操作的版本库所对应的 Git 目录下的配置文件(.git/config)。 这个文件中的值只对该版本库有效。
以上三个层次中每层的配置(系统、全局、本地)都会覆盖掉上一层次的配置,所以 .git/config 中的值会覆盖掉 /etc/gitconfig 中所对应的值。
4.3.2 windows系统
windows7系统: C:\Documents and Settings\用户名,其中有一个.gitconfig的文件。
windows8系统: C盘 -> 用户(Users) -> 用户名 文件夹下,有个.gitconfig的文件。
在上述那个目录底下, 可发现另外一个文件.git-credentials,里面记录的就是用户名密码了。
5. git设置远程仓库账号密码(拉取、上传代码不用输入用户名密码)
- github Personal access tokens
使用token可以不需要密码就可以读取远程仓库代码,如果你的远程仓库网站提供了账户访问token,那么设置一个access tokens。
github网站登陆后, 点击右上角的用户图标 -> settings -> 选择 Developer settings -> 选择 Personal access tokens,或者打开链接https://github.com/settings/tokens
使用:
git clone https://github.com/username/repo.git
username: your email
Password: your access tokens
由于github在2021-08-13禁止了用户名、密码形式,所以需要使用如下形式:
# git clone https://oauth2:[access tokens]@github.com/user/repo
git clone https://oauth2:ghp_GjguOh******KZm@github.com/user/repo
# 修改仓库
git remote set-url origin https://oauth2:ghp_GjguOh******ThzKZm@github.com/user/repo
码云仓库有类似的:码云 私人令牌
- git-credentials git读取账号密码文件
这里是为了你在拉取代码的时候不用在输入用户名密码了,
但是这里会暴露你远程仓库的用户名密码,注意保密,如果电脑不用了记得删除这个文件。
# 打开文件,如果没有则会自动创建文件
$ vim ~/.git-credentials
# 编辑好文件后运行git命令来让文件生效
$ git config --global credential.helper store
里面文件内容:
http://用户名:密码或token@仓库地址
http://yulilong:password@192.168.102.9
https://yulilong:password@bitbucket.org
http://yulilong:password@bitbucket.org
https://yulilong:5199818388420@github.com
http://yulilong:github_Personal_access_tokens@github.com
6. git文件夹详解
-
探索.git目录
-
.git文件夹详解
-
Git 内部原理
7. 图形软件操作工具
有的可能不适应命令行的复杂, 所以有一款图形化操作软件,并且带终端的软件。
网址:https://git-scm.com/
下载地址:https://git-scm.com/downloads
这个软件在window下自带命令行工具, 可以直接在打开文件夹中鼠标右键用命令行打开这个文件夹,使用非常方便。b
相关文章:
git介绍、安装、配置
文章目录 1. GIT介绍2. 使用GIT的好处3. GIT 安装4. GIT 配置4.1 GIT 初始化设置、命令别名设置4.2 如果终端安装了oh-my-zsh,会带一堆git命令别名4.3 GIT配置文件介绍4.3.1 Linux、Mac OS系统4.3.2 windows系统 5. git设置远程仓库账号密码(拉取、上传代码不用输入…...
打开flutter调试
debugPaintSizeEnabled true; debugPaintBaselinesEnabled true;...

【前端 - Vue】Vuex基础入门,创建仓库的详细步骤
🚀 个人简介:6年开发经验,现任职某国企前端负责人,分享前端相关技术与工作常见问题~ 💟 作 者:前端菜鸟的自我修养❣️ 📝 专 栏:vue从基础到起飞 🌈 若有帮助&…...

#01 Stable Diffusion基础入门:了解AI图像生成
文章目录 前言什么是Stable Diffusion?Stable Diffusion的工作原理如何使用Stable Diffusion?Stable Diffusion的应用场景结论 前言 在当今迅速发展的人工智能领域,AI图像生成技术以其独特的魅力吸引了广泛的关注。Stable Diffusion作为其中的一项前沿技术&#…...

Knife4j使用
Knife4j使用 文章目录 Knife4j使用1、Knife4j介绍2、SpringBoot集成Knife4j3、基本使用 1、Knife4j介绍 Knife4j是一个用于生成和展示API文档的工具,同时它还提供了在线调试的功能,可以看作是Swagger的升级版,界面也比Swagger更好看…...
一文读懂银行承兑汇票:从申请到使用全攻略
银行承兑汇票(Banks Acceptance Bill,BA)是商业汇票的一种。它是由在承兑银行开立存款账户的存款人出票,向开户银行申请并经银行审查同意承兑的,保证在指定日期无条件支付确定的金额给收款人或持票人的票据。银行承兑汇…...

唯众智联网(AIoT)应用开发教学实训解决方案
一、引言 随着信息技术的飞速发展,物联网(IoT)和人工智能(AI)技术逐渐融合,形成了智联网(AIoT)这一新兴领域。智联网通过智能化设备、传感器、云计算等技术手段,实现了数…...
归纳跨域几种解决方案
什么是跨域? **说起跨域,就要知道什么是浏览器同源策略 **浏览器同源策略:必须是协议、域名、端口完全一致的才符合同源策略 **如果以上三项,有一项不同都涉及到跨域问题 为什么浏览器要设置同源策略呢? 没有同源策…...
LeetCode刷题第3题(C#)
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度。 法一: 这道题用到的其实是滑动窗口。 滑动窗口算法是在特定窗口大小的数组或字符串上执行要求的操作。它可以将一部分问题中的嵌套循环转变为一个单循环,以此减少时间复…...

了解一下Ubuntu Linux
1.3.1 什么是Ubuntu Ubuntu这个名字非常神奇,它取自非洲南部祖鲁语的ubuntu,是一个哲学名称,其意思为“人性”或者“我的存在是因为大家的存在”。对于中国人来说,一般称呼它为乌班图。 Ubuntu是在Debian的基础上开发出来的&am…...

单一原则+干湿分离,让你的架构能力起飞
# 概念 软件单一原则(Single Responsibility Principle,SRP)是面向对象编程中五大基本设计原则之一。它指每个软件模块或类都应该只负责一个单一的功能或责任。 高内聚低耦合 实现代码可维护性 干湿分离是一种建筑设计和室内装修的方法,主…...

如何恢复永久删除的照片?
“嗨,我永久删除了电脑上的很多照片。回收站被清空,照片会永久丢失吗?有什么方法可以恢复这些已删除的照片吗? 我们所有人都经历过同样的事情:我们的硬盘上存储了文件、视频或照片,但不小心删除了它。这个…...

一文看懂llama2(原理模型训练)
自从Transformer架构问世以来,大型语言模型(Large Language Models, LLMs)以及AIGC技术的发展速度惊人,它们不仅在技术层面取得了重大突破,还在商业应用、社会影响等多个层面展现出巨大潜力。随着ChatGPT的推出&#x…...

Sui基金会公布2024年3–4月资助项目名单
Sui基金会宣布3月和4月的资助项目名单,在这两个月中,共有10个项目获得了资助,以加速Sui的整合和发展。其中有八个项目专注于为开发者创造更好的体验,从开发强大的集成开发环境(IDE)到使用零知识证明保护用户…...

Spring Security3.0.1版本
前言: 抽象Spring Security3.0上一篇 在上一篇中,我们完成了对Security导入,快速入门,和对自动配置的简单验证 对登录流程的分析和Security基本原理 补充: 先解决上一篇留下的问题,端口和端点的区别 端…...

网络报文协议头学习
vxlan:就是通过Vxlan_header头在原始报文前面套了一层UDPIP(4/6)Eth_hdr 需求背景:VXLAN:简述VXLAN的概念,网络模型及报文格式_vxlan报文格式-CSDN博客 如果服务器作为VTEP,那从服务器发送到接…...
颜色与纹理
1 将非坐标数据传入顶点着色器 当执行gl.drawArrays()函数时,存储在缓冲区对象中的数据将按照其在缓冲区中的顺序依次传给对应的attribute变量。在顶点着色器中,我们将这两个attribute变量分别赋值给的gl_Position和gl_PointSize,就在指定的位置绘制出指定大小的点了。 1.…...
pytest-playwright 插件的使用
引言 在自动化测试领域,Playwright 是一个强大的工具,它支持 Chromium、Firefox 和 WebKit 三大浏览器引擎。Playwright 提供了与 Pytest 集成的插件,使得编写端到端测试变得更加简单和高效。本文将介绍如何使用 Pytest Playwright 插件来编…...

基于springboot实现智慧校园之家长子系统项目【项目源码】计算机毕业设计
基于springboot实现智慧校园之家长子系统演示 SpringBoot框架介绍 本课题程序开发使用到的框架技术,英文名称缩写是SpringBoot,在JavaWeb开发中使用的流行框架有SSH、SpringBoot、SpringMVC等,作为一个课题程序采用SSH框架也可以,…...
云WAF的安全审计功能
云WAF(Cloud Web Application Firewall)是一种部署在云端的专业网络安全解决方案,它为Web应用程序提供强力的保护,通过检测和阻止恶意流量、攻击和漏洞,确保Web应用程序的安全性和可用性。在安全审计方面,云…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
TJCTF 2025
还以为是天津的。这个比较容易,虽然绕了点弯,可还是把CP AK了,不过我会的别人也会,还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...

Linux基础开发工具——vim工具
文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...

表单设计器拖拽对象时添加属性
背景:因为项目需要。自写设计器。遇到的坑在此记录 使用的拖拽组件时vuedraggable。下面放上局部示例截图。 坑1。draggable标签在拖拽时可以获取到被拖拽的对象属性定义 要使用 :clone, 而不是clone。我想应该是因为draggable标签比较特。另外在使用**:clone时要将…...