图文教程 | Git安装配置、常用命令大全以及常见问题

 前言

        因为多了一台电脑,平时写一些代码,改一些文件,用U盘存着转来转去特别麻烦。于是打算用Git管理我的文件,方便在两个终端之间传输数据啥的。也正好给新电脑装好Git。

📢博客主页:程序源⠀-CSDN博客
📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正!

一、简单介绍

什么是 Gitee?

        Gitee 提供免费的 Git 仓库,还集成了代码质量检测、项目演示等功能。对于团队协作开发,Gitee 还提供了项目管理、代码托管、文档管理的服务,5 人以下小团队免费。

gitHub 和 Gitee 的区别

  • 1、Gitee 的服务器在国内,在国内访问速度更快;而 github 知名度大于码云,国内访问不太稳定。
  • 2、gitHub 是一个面向开源及私有软件项目的托管平台,具有 git 代码仓库托管和基本的 Web 管理界面。Gitee.com(码云)是 OSCHINA.NET 推出的代码托管平台,支持 Git 和 SVN。
  • 3、Gitee 提供免费的私有仓库托管,gitHub 建立私有项目需要付费。

国内用 Gitee 还是 Github

        推荐使用 Gitee,Gitee 对国人比较友好,访问速度比 Github 快,如果用户的英语比较好,推荐使用 Github,Github 用户数量庞大,并且优秀的开源项目也非常之多,是 Gitee 不能比较的。

二、Git安装

2.1 git下载

官网地址:

http://git-scm.com/download/winicon-default.png?t=N7T8http://git-scm.com/download/win

打开下载好的程序

可以自行更改安装路径

下一步按需选择,一般默认即可。三个未选选项分别为:

创建桌面快捷方式、每天检查更新、将Git Bash配置文件添加到Windows

接下来一直默认下一步到最后安装即可。

打开一个文件夹或者在桌面,shift + 鼠标右键,检查是否安装成功

出现Open Git GUI/Bash here这两个选项即成功安装

2.2 图形化界面TortoiseGit(选装)

下载地址:

https://download.tortoisegit.org/tgit/icon-default.png?t=N7T8https://download.tortoisegit.org/tgit/

打开安装程序:

默认下一步安装即可

先运行进行初次配置

自动找到git的bin路径

找到gitee主页的name以及自己注册时使用的邮箱,输入到框中

          

完成安装

检查是否成功:shift + 右键,出现Git Clone三个选项即成功安装。

三、git指令大全

1、查看已有的配置信息:`git config --list`  
2、创建 demo 文件夹:`mkdir demo`  
3、初始化:`git init` 
4、将 github 上的仓库克隆到本地:`git clone [仓库地址]`  
5、查看做了哪些修改:`git diff(按 q 退出)`
6、创建a.html:`touch a.html`  
7、进入编辑.gitignore:`vim .gitignore`
8、添加:`/[文件夹名]`
9、将文件添加到缓存获得 Git 的跟踪:`git add(. -A *)`
10、查看当前版本库各个文件的状态:`git status`
11、将缓存区内容添加到仓库中:`git commit` 
12、版本留言,尽量写的语义话:`git commit -m` 
13、查看提交记录:`git log`
14、取消已经缓存的内容:`git reset`
15、也可以通过版本号回滚:`git reset --hard [版本号]`
16、把一个文件删除,并把它从git的仓库中移除:`git rm [文件名]`
17、取消对某个文件的修改:`git checkout [文件名]`
18、忽略上传的文件:`vi.gitignore`
19、创建新分支:`git branch [yourbranch]`
20、切换分支:`git checkout [yourbranch]`
21、或者直接创建一个分支,并且切换过去:`git checkout -b [yourbranch]`
22、删除分支:`git branch -d [yourbranch]`
23、推送分支:`git push origin [yourbranch]`

四、gitee码云的使用

注册、建仓库不多说,自行搜索

打开想要上传仓库的文件夹,shift + 右键空白处,打开bash窗口,输入

git init 

出现下面的窗口,输入注册码云使用的用户名和密码即可。

打开仓库地址,点击 克隆/下载,复制HTTPS地址后,在bash窗口输入

git remote add origin (你的仓库地址)

完成绑定仓库

先从仓库拉取文件,输入

git pull origin master

输入命令:git add .

添加本地代码文件到缓存区:使用命令 git add . 将所有文件添加到 Git 缓存区。

 输入命令:git commit -m "这里是注释"

提交代码到本地仓库

输入命令: git push origin master

推送代码到远程仓库:使用命令 git push -u origin master 将本地仓库中的代码推送到 Gitee 远程仓库。

 五、常见问题

下面是自己经常会出现的场景:

 1、创建新分支并关联远程:

创建并切换到分支:git checkout -b develop

将本地分支关联到远程分支:git branch --set-upstream-to=origin/develop develop

报错的话可以试一下:git push origin feature-branch:feature-branch

//推送本地的feature-branch(冒号前面的)分支到远程origin的feature-branch(冒号后面的)分支(没有会自动创建)

git分支合并时将所有提交记录汇总为一条: (最好不要一条命令:git merge --squash)

git merge --squash 分支名
git commit -m "message here"

2、创建本地分支并推送到服务器

创建并切换到分支branchName:git checkout -b branchName

推送本地的branchName(冒号前面的)分支到远程origin的branchName(冒号后面的)分支(没有会自动创建):git push origin branchName:branchName

发现问题:
如果命令行提示git branch --set-upstream dev origin/branchName:则需在终端输入git push -u origin branchName

3、查看git配置信息

显示Git当前配置信息,点击**“q”**键退出查看:git config --list 或 git config -l

4、SSH

查看自己的SSH:cat ~/.ssh/id_rsa.pub

生成SSH:ssh-keygen -t rsa -C “$your_email”

5、暂存

**git stash ** :暂存(存储在本地,并将项目本次操作还原)
**git stash pop ** :使用上一次暂存,并将这个暂存删除,使用该命令后,如果有冲突,终端会显示,如果有冲突需要先解决冲突(这就避免了冲突提交服务器,将冲突留在本地,然后解决)
**git stash list ** :查看所有的暂存
**git stash clear **:清空所有的暂存
**git stash drop [-q|–quiet] [] **:删除某一个暂存,在中括号里面放置需要删除的暂存ID
**git stash apply **:使用某个暂存,但是不会删除这个暂存

暂存不小心清空,结果里面有需要的代码,也是有找回方法的:
**git fsck --lost-found **:命令找出刚才删除的分支里面的提交对象。
git show+版本:命令查看是否正确
git merge+版本号:如果正确使用git merge命令找回

6、git忽略文件

生成git忽略文件.gitignore文件,使用终端进入到你要生成.gitignore的目录,使用命令touch .gitignore,就会生成。

下面是.gitignore的==常用规则==:

/mtk/ 过滤整个文件夹
*.zip过滤所有.zip文件
/mtk/do.c 过滤某个具体文件
这样文件或者文件夹就被过滤了,当然本地库中还有,只是push的时候不会上传。

.gitignore还可以指定要将哪些文件添加到版本管理中:

!*.zip
!/mtk/one.txt
如果你将文件加入到了.gitignore文件里面,但是没有说生效,为什么呢?因为之前你已经把这个文件push到过远程仓库了,请使用以下命令:

git rm --cached git ls-files -i --exclude-from=.gitignore

经过我几次实验之后发现,上述命令在之前没有创建.gitignore文件但是已经向服务器push过代码的时候好使,但是在已经使用过这个命令后,由于其他分支并没有添加忽略文件,合并分支后,忽略文件失效,那么上述命令可能失效,那么**先把本地缓存删除(改变成未track状态),然后再提交**,方案如下:

git rm -r --cached .
git add .
git commit -m '日志'

要记得,因为改变了一些东西,所以要从新pod install 然后提交代码,但是要使用git status查看状态,比如已经忽略了Podfile.lock,那么查看时没有Podfile.lock那就是好了。

7、重定向项目远程仓库地址

git remote set-url origin 新项目地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/557278.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MathType安装导致的Word粘贴操作出现运行时错误‘53’:文件未找到:MathPage.WLL

MathType安装导致的Word粘贴操作出现运行时错误‘53’:文件未找到:MathPage.WLL 解决方案 1、确定自己电脑的位数; 2、右击MathType桌面图标,点击“打开文件所在位置”,然后找到MathPage.WLL ,复制一份进行…

深度 | 践行绿色健康可持续发展,这家企业提供了价值范本

文 | 螳螂观察 作者 | 余一 近段时间以来,小米SU7热度一直不减,在展露小米强大品牌号召力的同时,也侧面体现出了当前消费者对于新能源汽车的喜爱。 而消费者选择新能源汽车时,环保因素也起到了至关重要的作用。像前几日&#x…

PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询

云原生数据库PolarDB分布式版(PolarDB for Xscale,简称PolarDB-X)有极强的线性扩展能力,能够多写多读;它的全局索引能力,是分布式改造的利器,成功解决了传统分布式方案中多维度查询的难题&#…

探究欧拉恒等式的美学与数学威力

正如老子所述,“道生一,一生二,二生三,三生万物”,数学作为人类认知自然法则的语言,其数系的不断发展象征着对世界理解的深化。从自然数经由分数、无理数至复数,复数虽看似反直觉,却…

探索AI大模型:理论、技术与应用

引言 近年来,随着深度学习技术的迅猛发展,AI大模型已经成为人工智能领域的重要研究方向和热点话题。AI大模型,指的是拥有巨大参数规模和强大学习能力的神经网络模型,如BERT、GPT等,这些模型在自然语言处理、计算机视觉…

es安装中文分词器

下载地址,尽量选择和自己本地es差不多的版本 https://github.com/infinilabs/analysis-ik/releases 下载好,解压,把里面的文件放到es的plugins/ik目录下 把plugin-descriptor.properties文件里的es版本改成自己对应的 再启动es,能…

2W 3KVDC 隔离单、双输出 DC/DC 电源模块——TPH 系列

TPH系列是一款2W,单、双输出隔离电源模块,特别适合板上只有一种电压而要求有正负电源的场合,工业级温度范围–40℃到105℃,在此温度范围内都可以稳定输出2W,并且效率非常高,高达86%,温升非常低&…

OKCC搭建配置什么样的服务器合适

OKCC呼叫中心系统是一种采用软硬件结合的架构方式、及分布式的IP技术,从多角度为企业提供整合的一体化解决方案。因此,搭建OKCC呼叫中心系统所使用的服务器应该满足以下几点要求: 稳定性:服务器需要具有较高的稳定性和可靠性&…

MinIO + Prometheus + Grafana docker部署

文章目录 说明MinIO简介MinIO 容器化部署Prometheus服务地址配置方法一:先部署后修改方法二:部署时修改compose文件(未验证) MinIO Access Key配置Prometheus 容器化部署MinIO 生成抓取配置修改Prometheus配置文件Grafana 容器化部…

iframe和 blob实现JS,CSS,HTML直接当前页预览

先贴效果图&#xff1a; <template><div><div class"aaa"></div><div class"btn-run" click"tres">运行</div></div></template><script>import { mapState } from vuex;export default …

在线编辑器 CodeMirror

如何优雅的在网页显示代码 如果开发在线编辑器 引入资源&#xff1a; <link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.60.0/codemirror.min.css"><script src"https://cdnjs.cloudflare.com/ajax/libs/c…

【网安小白成长之路】8.sql注入操作1

&#x1f42e;博主syst1m 带你 acquire knowledge&#xff01; ✨博客首页——syst1m的博客&#x1f498; &#x1f51e; 《网安小白成长之路(我要变成大佬&#x1f60e;&#xff01;&#xff01;)》真实小白学习历程&#xff0c;手把手带你一起从入门到入狱&#x1f6ad; &…

店前台安装水离子雾化壁炉前和装后对比

当酒店前台装上水离子雾化壁炉后&#xff0c;整体氛围和客户体验都会发生显著的变化&#xff1a; 装前&#xff1a; 普通的前台氛围&#xff1a;前台可能显得比较普通和传统&#xff0c;可能缺乏独特的装饰元素或视觉焦点。 视觉上缺乏吸引力&#xff1a;前台空间可能比较朴…

现代商业中首席人工智能官(CAIO)的角色与影响

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

万字总结!Docker简介及底层关键技术剖析

本文首发在个人博客上&#xff1a;万字总结&#xff01;Docker简介及底层关键技术剖析 Docker 简介 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#x…

PVE grub resue错误修复 lvmid BUG

服务器断电后启动不起来&#xff0c;显示grub resue 找了半天没有找到修复方法。看官方文档有一处Recovering from grub “disk not found” error when booting from LVM 极为类似。https://pve.proxmox.com/wiki/Recover_From_Grub_Failure 下面是处理过程。 使用PVE 6.4启…

使用示例解释.NET中的Mocking是什么?

让我们踏上探索.NET软件开发中Mocking概念的旅程&#xff0c;让我们深入了解Mocking是多么简单易懂、易于访问。请与我一起穿越这个主题&#xff0c;我将涵盖以下内容&#xff1a; 理解Mocking&#xff1a;为何它对于构建强大的测试策略至关重要。探索一些最常见的Mocking库&a…

python教学入门:字典和集合

字典&#xff08;Dictionary&#xff09;&#xff1a; 定义&#xff1a; 字典是 Python 中的一种数据结构&#xff0c;用于存储键值对&#xff08;key-value pairs&#xff09;。字典使用花括号 {} 定义&#xff0c;键值对之间用冒号 : 分隔&#xff0c;每对键值对之间用逗号 …

SQL-Oracle 获取最大值,第二大,第三大,第 N 大值

目录 1、原始数据2、获取最大值记录3、获取第二大值记录4、获取第三大值记录 1、原始数据 select * from test_2024_04_15_001 order by 销量 desc,渠道2、获取最大值记录 select 渠道,销量 from ( select a.渠道, a.销量 from test_2024_04_15_001 a order by a.销量 desc,…

AI边坡监测识别摄像机

AI边坡监测识别摄像机是一种利用人工智能技术进行边坡监测的智能设备&#xff0c;其作用是及时监测边坡变化并识别潜在的滑坡、崩塌等危险情况&#xff0c;以提供及时预警和采取必要的安全措施。这种摄像机通过高清摄像头实时捕捉边坡的图像&#xff0c;并利用AI算法对边坡的形…