Git 安装和使用(非常详细教程)

news2024/11/30 8:36:10

Git 安装和使用Tips

目录:导读

1. git的安装

1)首先去下载

2)傻瓜式下一步再下一步地去安装

2. git的常见命令

提交代码

下载代码

分支提交代码

3. git的常见问题

1)  提示出错信息:fatal: remote origin already exists.

 2)  发现日志等文件没有上传

git clone -b develop remost_URL


对于Git的使用本文就不讲那么深了,今天主要是和大家分享一下Git的安装和使用一些简单方面的认识,希望初学Git的大家看完这篇文章能有对Git更深的认识。最后相信看完此文你的Git使用会更进一步。

1. git的安装

1)首先去下载


Git - Downloads

[root@VM_0_10_centos ~]# yum install git

[root@VM_0_10_centos ~]# git --version
git version 1.8.3.1


在上述官网上下载符合自己操作系统的git版本,PS翻  墙会快一些,不翻   墙经常出现网络错误而下载失败

分享网盘资源下载

链接:百度网盘 请输入提取码 密码:65wr

2)傻瓜式下一步再下一步地去安装

安装完毕后,Windows平台下用Git Bash工具双击打开,接下来我们要去做生成秘钥操作,how to?
生成密钥命令如下,直接复制并粘贴到窗口中,邮件地址可以是注册github、gitlab平台到邮箱,也可以不是注册到邮箱,邮箱是为了知道通知你,你到密钥被加到哪个账户上去了。

ssh-keygen -t rsa -C "xxx.qian@xx.com"

打开密钥生成文件,注意一下自己刚刚生成的目录,我这边是默认路径

C:\Users\jasqia\.ssh

id_rsa.pub内容复制到自己的gitlab,或者github中。 一般是 User Settings 下的 SSH Keys

注意一定是公钥,加pub字样的,私钥是用来加密,公钥用来解密

2. git的常见命令

提交代码

git init
对当前目录进行初始化,使当前的目录交由Git进行管理

git status
查看当前项目下所有文件的状态

git add.【add 和 点 . 之间有空格注意哦】
对当前目录下的所有文件进行跟踪

git status
查看当前项目下所有文件的状态
git commit 提交代码
一般 加一些描述,例如

git commit -m "initial commit" //初次提交代码
git commit -m "add xx file"
git remote add origin git@xxx.com:usrname/project-name.git //初次提交代码

git push -u origin master

下载代码

通过gitbash 或者
开发软件中的命令行比如Intelij Idea
或者eclipse中自己添加插件,后新建项目时候选git clone选好指定的目录
选好指定的目录

git clone
GitHub上的项目到本地
git clone git@xxx.com:xx/project-name.git
git clone https://github.com/xxx/project-name

git pull 后续server上代码有更新,git pull命令将更新本地代码
git status 查看当前目录以及子目录的变更
git rm xxfile 删除命令
git rm xxfolder 删除命令

涉及分支创建、合并、删除等

查看目前所在的分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

分支提交代码

git commit -m "comments"
git push origin branchname
git reset HEAD <file>


如果分支中有和master中由同一文件名的文件,要怎么办?

3. git的常见问题

1)  提示出错信息:fatal: remote origin already exists.

出错原因是此目录下的git已经指向了一个远程的初始路径,且和你此次想指向的路径不一致;那要么自己check下,是否路径需要更新。若需要,有两种方式,要么删除目录下的.git文件夹,一般情况下是隐藏的;要么直接用命令

git remote rm origin  来删除掉初始路径,然后重新git remote add origin git@github.com/xxx即可

 2)  发现日志等文件没有上传

是因为在.gitignore文件中进行了配置,如下截图

此文件会忽略要上传的带有特定后缀的文件

git clone -b develop remost_URL

1.fetch和merge和pull的区别

 pull相当于git fetch 和 git merge,即更新远程仓库的代码到本地仓库,然后将内容合并到当前分支。

 git fetch:相当于是从远程获取最新版本到本地,不会自动merge

 git merge :  将内容合并到当前分支

 git pull:相当于是从远程获取最新版本并merge到本地

2.tag

tag指向一次commit的id,通常用来给开发分支做一个标记

打标签 : git tag -a v1.01 -m "Relase version 1.01"

提交标签到远程仓库 :  git push origin --tags

查看标签 : git tag

查看某两次tag之间的commit:git log --pretty=oneline tagA..tagB

查看某次tag之后的commit: git log --pretty=oneline tagA..

3.Git和SVN的区别

Git是分布式版本控制系统,SVN是集中式版本控制系统

4.Git工作流程

  1. 在工作目录中修改某些文件
  2. 对修改后的文件进行快照,然后保存到暂存区域
  3. 提交更新,将保存在暂存区域的文件快照永久转储到Git目录中

5.常用命令

git show # 显示某次提交的内容 git show $id

git add <file> # 将工作文件修改提交到本地暂存区

git rm <file> # 从版本库中删除文件

git reset <file> # 从暂存区恢复到工作文件

git reset HEAD^ # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改

git diff <file> # 比较当前文件和暂存区文件差异 git diff

git log -p <file> # 查看每次详细修改内容的diff

git branch -r # 查看远程分支

git merge <branch> # 将branch分支合并到当前分支

git stash # 暂存

git stash pop #恢复最近一次的暂存

git pull # 抓取远程仓库所有分支更新并合并到本地

git push origin master # 将本地主分支推到远程主分支

写在最后

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

看到这篇文章的人有觉得我的理解有误的地方,也欢迎评论和探讨~

你也可以加入下方的的群聊去和同行大神交流切磋

 

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

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

相关文章

通过异常处理错误

写在前面Java的基本理念是"结构不佳的代码不能运行"。发现错误的理想时机是在编译阶段, 也就是在你试图运行程序之前。然而, 编译期间并不能找出所有的错误, 余下的问题必须在运行期间解决。这就需要错误源能通过某种方式, 把适当的信息传递给某个接收者——该接收者…

情人节特刊 | “恋爱容易,相守难!” 犀思老兵谈破局之道!

付出甘之如饴&#xff0c;所得归于欢喜。 主动付出真心&#xff0c;问心无愧&#xff0c;未来无悔。老吴是我们公司十多年经验的售后服务主管&#xff0c;平时聊的不多&#xff0c;中午一起吃饭&#xff0c;偶然看到新闻说春节后多地都有排队办理离婚的现象。我不禁感叹一句&am…

三种查找Windows10环境变量的方法

文章目录一.在设置中查看二. 在我的电脑中查看三. 在资源管理器里查看一.在设置中查看 在系统中搜索设置 打开设置&#xff0c;在设置功能里&#xff0c;点击第一项 系统 在系统功能里&#xff0c;左侧菜单找到关于 在关于的相关设置里可以看到高级系统设置 点击高级系…

Java如何整合FFmpeg、FFprobe等音视频处理工具,零基础照样玩

前言&#xff1a;时隔一年多了&#xff0c;不知不觉博客停更那么久了&#xff0c;那不忘初心还记得吗&#xff1f; 最近在做音视频相关的开发&#xff0c;没什么资料并且之前也没有接触过这方面&#xff0c; 咨询了T届的好友&#xff0c;拿到了下面的这张表情包&#xff0c;问题…

从事架构师岗位快2年了,聊一聊我和ChatGPT对架构的一些感受和看法

从事架构师岗位快2年了&#xff0c;聊一聊我和ChatGPT对架构的一些感受和看法 职位不分高低&#xff0c;但求每天都能有新的进步&#xff0c;永远向着更高的目标前进。 文章目录踏上新的征程架构是什么&#xff1f;架构师到底是干什么的&#xff1f;你的终极目标又是什么&#…

链表带头结点与不带头节点的区别

链表是一种物理存储结构上非连续&#xff0c;非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表可分为&#xff1a;单链表和双链表&#xff0c;带头结点的链表和不带头结点的链表&#xff0c;循环链表和非循环链表 为了表示每个元素与其…

MySQL数据库调优————SQL性能分析

TIPS 本文基于MySQL 8.0 本文探讨如何深入SQL内部&#xff0c;去分析其性能&#xff0c;包括了三种方式&#xff1a; SHOW PROFILEINFORMATION_SCHEMA.PROFILINGPERFORMANCE_SCHEMA SHOW PROFILE SHOW PROFILE是MySQL的一个性能分析命令&#xff0c;可以跟踪SQL各种资源消耗。…

VLAN间通信,看完这个就完全懂了(单臂路由和三层交换)

第九章&#xff1a;实现VLAN间通信 划分VLAN后&#xff0c;由于广播报文只在同VLAN内转发&#xff0c;所以不同VLAN的用户间不能二层互访&#xff0c;这样能起到隔离广播的作用。但实际应用中&#xff0c;不同VLAN的用户又常有互访的需求&#xff0c;此时就需要实现不同VLAN的…

KDNM5000-10A-2剩余电流保护器测试仪

一、产品概述 KDNM5000-10A-2型剩余电流保护器测试仪(以下简称测试仪)&#xff0c;是本公司改进产品&#xff0c;是符合国家标准《剩余电流动作保护器》&#xff08;GB6829—95&#xff09;中第8.3条和GB16917.1—1997中第9.9条验证AC型交流脱扣器动作特性要求的专用测试仪器。…

Nacos微服务笔记

Nacos安装Nacos 的 Github&#xff08;Tags alibaba/nacos GitHub&#xff09;下载我们所需的 Nacos 版本&#xff0c;可以选择 windows 或者 Linux。 进入官网&#xff0c;选择合适版本&#xff0c;tar.gz为linux版本&#xff0c;zip为windows版本。下载并解压 nacos-server…

【C++进阶】一、继承(总)

目录 一、继承的概念及定义 1.1 继承概念 1.2 继承定义 1.3 继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、菱形继承及菱形虚拟继承 7.1 继承的分类 7.2 菱形虚拟…

【SAP Abap】X-DOC:SE11 - 创建配置表并分配事务码

SE11 - 创建配置表并分配事务码1、创建自定义表2、创建表维护功能3、功能验证4、设置事务码5、带出字段默认值&#xff08;1&#xff09;方法一&#xff1a;表维护事件&#xff08;2&#xff09;方法二&#xff1a;屏幕事件1、创建自定义表 SE11&#xff0c;创建自定义表&…

结构体的三种定义方法、结构体类型名(可选标志符)什么时候可以省略

结构体的三种定义方法 一、单独定义&#xff1a; 先定义结构体类型&#xff0c;再定义变量   定义结构体的格式如下&#xff1a;    struct 结构体名 {    若干数据项&#xff1b;    } &#xff1b;   其中&#xff0c;struct为关键字&#xff1b; 结构体名是用户定…

golang 入门教程:迷你 Twitter 后端

请记住&#xff0c;这个项目主要是为了稍微熟悉下Golang&#xff0c;您可以复制架构&#xff0c;但该项目缺少适当的 ORM&#xff0c;没有适当的身份验证或授权&#xff0c;我完全无视中间件&#xff0c;也没有测试。 我将在其自己的部分中讨论所有这些问题&#xff0c;但重要的…

利用NGROK将本地网站发布为一个公开网站

一般与第三方服务集成时&#xff0c;需要提供https的回调URL&#xff0c;本地开发阶段可以利用NGROK将本地网站发布为公开的https网站。https://ngrok.com/downloadWindow下载地址&#xff1a;https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-windows-amd64.zip以Window…

echarts问题汇总

因为工作中经常使用echarts&#xff0c;做数据可视化相关需求&#xff0c;需要实现各种各样图表的需求。 有遇到过很多问题&#xff0c;一些网上不太好搜索到解决方案的&#xff0c;一直想总结一下解决过程。方便自己查阅&#xff0c;也方便别人参考。 一&#xff1a;echarts…

【C++】set/multiset、map/multimap的使用

目录 一、关联式容器 二、set的介绍 1、接口count与容器multiset 2、接口lower_bound和upper_bound 三、map的介绍 1、接口insert 2、接口insert和operator[]和at 3、容器multimap 四、map和set相关OJ 1、前K个高频单词 2、两个数组的交集 一、关联式容器 vector、…

【LeetCode】环形链表 II [M](链表)

142. 环形链表 II - 力扣&#xff08;LeetCode&#xff09; 一、题目 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链…

Python网络爬虫 学习笔记(1)requests库爬虫

文章目录Requests库网络爬虫requests.get()的基本使用框架requests.get()的带异常处理使用框架&#xff08;重点&#xff09;requests库的其他方法和HTTP协议&#xff08;非重点&#xff09;requests.get()的可选参数网络爬虫引发的问题&#xff08;非重点&#xff09;常见问题…

【C/C++】Windows下VS创建Linux项目

如果不想在Linux下用vim编写代码&#xff0c;可以在Windows下使用VS远程连接Linux&#xff08;Linux下是不支持安装使用VS的&#xff09;&#xff0c;将VS上编写的代码通过 SSH协议 推送到Linux下&#xff0c;注意文件编写是在Windows上进行的&#xff0c;编译是在Linux下进行的…