图文教程 | 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 新项目地址

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HFSS端口介绍2---波端口

前面我们讨论了Lumped Port设定相关的内容,这节我们继续讨论Wave Port(波端口)使用相关的问题。 波端口使用范围 封闭结构:如波导、同轴电缆等 包含多个传播模式的模型 端口平面在求解区域外的模型 模型中包含均匀的波导或者传输线结构 波端口的大小 对于封闭的传输线结构:边…

视频教程下载:用ChatGPT的 API 开发AI应用指南

通过这门关于 OpenAI API 和 ChatGPT API 的全面课程,在您的应用中释放人工智能的力量。随着人工智能技术的快速发展,比以往任何时候都更重要的是保持领先地位,并为您的项目利用这些尖端工具。在本课程中,您将深入了解人工智能驱动…

物联网硬件设计开发全攻略:十大关键阶段深度解析

为物联网应用设计开发高效稳定的硬件系统本身是一项既复杂又精细的艰巨任务。看似小巧的物联网设备一般由软件、固件和硬件组件组成,其中,硬件组件更是占据了约80%的成本与开发挑战。那么,为何硬件部分如此棘手?在这篇文章中&…

x汽车登陆网站登陆rsa加密逆向

声明: 本文章内容仅供学习交流,不用于其他其他任何目的,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关, 各位看官好哇,今天给大家带来一篇web自动化逆向的文章,如下图当前我…

芯科科技大大简化面向无电池物联网的能量采集产品的开发

芯科科技推出其迄今最高能量效率且支持能量采集功能的无线SoC 中国,北京 – 2024年4月22日 – 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB)…

超星图书转成PDF格式

转为pdf 为避免浪费您的时间,本篇转载文章不值得花费您的宝贵时间阅读 方法一 感谢医学插画动画杜鹏 Roison An两位提供的方法,经试验后简化了一下,得出以下方法:1、使用超星打开你想要转换的图书2、依次打开本书的所有页面,不要…

Property ‘auth‘ does not exist on type ‘AGCApi‘.

Property ‘auth’ does not exist on type ‘AGCApi’. 解决 清理项目重新运行模拟器就可以了

CentOS-7安装clickhouse并允许其他主机登录

一、通用设置 1、配置主机名 hostnamectl set-hostname --static 主机名2、修改hosts文件 vim /etc/hosts 输入: 192.168.15.129 master 192.168.15.133 node1 192.168.15.134 node2 192.168.15.136 node33、 保持服务器之间时间同步 yum install -y ntpdate &…

Java | Leetcode Java题解之第42题接雨水

题目&#xff1a; 题解&#xff1a; class Solution {public int trap(int[] height) {int n height.length;if (n 0) {return 0;}int[] leftMax new int[n];leftMax[0] height[0];for (int i 1; i < n; i) {leftMax[i] Math.max(leftMax[i - 1], height[i]);}int[] …

云南旅游攻略

丽江景点 Day1 ——丽江古城 丽江古城是一个充满文化和历史的地方&#xff0c;拥有丰富的景点和活动。 推荐游玩&#xff1a; 参观标志性建筑&#xff1a;大水车是丽江古城的标志性建筑&#xff0c;可以在这里拍照留念。 探索中心广场&#xff1a;四方街是古城的中心&#xf…

【第6节】Lagent AgentLego 智能体应用搭建

目录 1 基础课程2 安装环境2.1 教程要求2.2 安装 Lagent 和 AgentLego 3 实践操作3.1 Lagent&#xff1a;轻量级智能体框架3.1.1 Lagent Web Demo 使用3.1.2 用 Lagent 自定义工具 3.2 AgentLego&#xff1a;组装智能体“乐高”3.2.1 AgentLego 直接使用部分3.2.2 AgentLego We…

C++笔记:类和对象(一)->封装

类和对象 认识类和对象 先来回忆一下C语言中的类型和变量&#xff0c;类型就像是定义了数据的规则&#xff0c;而变量则是根据这些规则来实际存储数据的容器。类是我们自己定义的一种数据类型&#xff0c;而对象则是这种数据类型的一个具体实例。类就可以理解为类型&#xff0c…

二维码存储图片如何实现?相册二维码的制作技巧

如何将照片生成二维码后存储展示&#xff1f;现在很多人会将图片生成二维码以后&#xff0c;用于分享或者储存的用途&#xff0c;减少个人内存的占用量&#xff0c;而且分享照片也会更加的方便&#xff0c;只需要扫描二维码就可以让其他人查看图片。 想要制作图片二维码的步骤…

CLHLS交叉滞后模型和广义估计方程一起用发文2区 | 公共数据库周报(4.10)

零基础CHARLS发论文&#xff0c;不容错过&#xff01; 长期回放更新指导&#xff01;适合零基础&#xff0c;毕业论文&#xff0c;赠送2011-2020年CHARLS清洗后的数据全套代码 CHARLS公共数据库 CHARLS数据库简介中国健康与养老追踪调查(China Health and Retirement Longitudi…

C. Inhabitant of the Deep Sea

本题链接&#xff1a;Problem - C - Codeforces 题目&#xff1a; 样例&#xff1a; 输入 6 4 5 1 2 4 3 4 6 1 2 4 3 5 20 2 7 1 8 2 2 2 3 2 2 15 1 5 2 7 5 2输出 2 3 5 0 2 2 思路&#xff1a; 数学模拟。 根据题意&#xff0c;一前一后的攻击&#xff0c;攻击k次后&…

Mysql联合索引和最左匹配例子说明

文章目录 前言联合索引最左匹配原则举例说明 前言 是什么是索引&#xff1f; 索引是一种数据结构&#xff0c;用于加速数据库查询。 当没有索引时&#xff0c;数据库系统需要执行全表逐行扫描来满足查询需求。这意味着它会逐行读取整个表中的数据&#xff0c;并在内存中进行比…

设计模式-状态模式在Java中的使用示例-信用卡业务系统

场景 在软件系统中&#xff0c;有些对象也像水一样具有多种状态&#xff0c;这些状态在某些情况下能够相互转换&#xff0c;而且对象在不同的状态下也将具有不同的行为。 为了更好地对这些具有多种状态的对象进行设计&#xff0c;我们可以使用一种被称之为状态模式的设计模式…

【提示学习论文】BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning论文原理

BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning BlackVIP:稳健迁移学习的黑盒视觉提示 问题 黑盒白盒&#xff1f; 黑盒和白盒的概念与对预训练模型内部参数的了解程度相关。黑盒指的是对预训练模型的参数和结构缺乏详细了解&#xff0c;通常只能通过使…

OpenCV 如何实现边缘检测器

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV如何实现拉普拉斯算子的离散模拟 下一篇 :OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数…

测试用例设计方法-异常测试

飞的最高的海鸥&#xff0c;能看到最远的奇景。大家好&#xff0c;继续给大家分享如何进行异常测试&#xff0c;首先要做好异常测试&#xff0c;需要我们对被测系统进行全面的了解&#xff0c;熟悉被测系统的功能、架构和运行机制&#xff0c;然后在这个基础上尽可能覆盖各种的…