git/github使用教程(持续更新)

article/2025/8/14 16:13:32

@2019072101d

1.推荐学习网站

https://www.liaoxuefeng.com/wiki/896043488029600

2.为什么要使用git

git可以更好的帮助我们记录每次文件改动的相关内容(如:文件名、改动说明、改动时间、改动用户等),这样方便我们日后对文件进行相关操作。

3.windows下git的安装

1.官网下载git:https://git-scm.com/downloads
2.下载完毕后,找到Git Bash,双击点开会显示代码框
注意:当双击时出现没有找到Git Bash文件夹的错误提示时,原因是由于Git Bash的安装目录不是英文,只需重新下载并将安装路径改为英文即可。
3.设置:在命令框中输入以下两行代码:
git config --global user.name “Your Name”
git config --global user.email "email@example.com"
说明: “Your Name”:表示你设置的用户名; "email@example.com":表示你用来登录的邮箱。

4.创建版本库

1.首先进入到一个文件夹下(这里进入到D盘下):cd /d
2.创建一个空目录:mkdir learngit
3.进入到该目录下:cd learngit
4.将该目录变成git可以管理的仓库:git init(正确输出后表示为出现.git文件夹)
5.编写一个readme.txt文件:vi readme.txt
6.进入编辑器后按a进入编辑模式,内容为:git is a version control system
7.输入后按esc进入命令模式,在输入:wq保存退出文本编辑器
8.输入git add readme.txt:告诉git,将文件添加到仓库
9.输入git commit -m “creat a file”:git commit表示告诉git将文件提交到仓库,-m该部分为提示(输出结果部分为 :1 file changed, 1 insertion(+),表示一个文件被改变,插入了一行代码)
说明:将一个文件放到仓库只需要两步:第一步将文件添加到仓库,第二步将文件提交到仓库
10.输入vi readme.txt修改文件的内容后保存退出
11.输入git status可以查看git的状态:
Changes not staged for commit:表示暂存区没有文件
12.输入git diff可以查看git修改的内容
13.输入git add readme.txt添加到仓库
14.输入git status查看仓库状态:
Changes to be committed:表示将要被提交的修改包括哪些
15.输入git commit -m "修改的提示内容"来提交给仓库
16.在输入git status查看仓库状态:
nothing to commit, working tree clean:表示工作区是干净的,没有修改
17. 输入git log可以查看所有修改的相关内容(包括修改人、修改时间、修改提示、修改的版本号)
18.输入git reset --hard HEAD^1可以将版本回退到上一个版本号,数字可叠加
19.输入git log发现最新的那次修改日志没有了,想要回到最新的修改版本,只需输入git reset --hard 版本号即可(这里的版本号不用全部写,只用写前几位系统可以自动查找)
20.输入git reflog可以查看每次每次执行的命令,主要用于当关闭电脑后通过日志无法查看版本号,可以通过此方法来查找之前命令中可能存在相关的版本号信息

5.工作区与版本库之间的联系

1.工作区就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区
2.工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库,git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

3.第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
4.可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
5.一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的,只是输入git diff就表示没有修改

6.管理修改

第一次修改 -> git add -> 第二次修改 -> git add -> git commit,可以将对同一文件的两次修改合并提交(个人理解最后在分支中会显示第二次的修改)

7.撤销修改

1.readme.txt自修改后还没有被放到暂存区,现在,撤销修改工作区就回到和版本库一模一样的状态;
2.readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改工作区就回到添加到暂存区后的状态。
3.撤销修改的代码:git checkout – file(表示文件的名字)
4.撤销加入到暂存区中的修改,重新放置到工作区中,git reset HEAD (用文件名代替)

8.删除文件

1.rm file:用来删除工作区的文件
2.当删除工作区的文件后,会面临两个选择,一个是删除版本库中的同一文件,一个为误操作,撤销删除工作区文件的操作。
3.删除版本库中的同一文件:gir rm file(rm的作用同类于add),然后git commit -m ""告诉master删除操作
4.撤销删除工作区中文件的操作:git checkout – file
说明:git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以一键还原

9.远程仓库

第一步:创建ssh key密钥:ssh-keygen -t rsa -C "youremail@example.com"(youremail@example.com是你的email地址),输入后直接多次回车即可;执行完毕后,在用户的主目录下可以查看到.ssh文件,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
第二步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
说明:为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。

10.添加远程库

1.现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得
2.登陆GitHub,然后,在右上角找到“Create a new repository”按钮,创建一个新的仓库
3.Repository name填入需要同本地进行同步仓库的名字,其他保持默认设置,点击“Create repository”按钮
4.输入git remote add origin https://github.com/DedicationTechology/learngitfirst.git(该部分在github上有)
5.输入git push -u origin master
6.从现在起,只要本地作了提交,就可以通过命令:$ git push origin master把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
7.错误提示:刚接触到git,按照教程成功推送了远程库,然后当我想换一个github帐号推送时出现了403错误。提示拒绝我原来的帐号。解决方案:该错误出现的原因是计算机已经保存了一个GitHub用户名和密码,所以当你转移到另一个帐号时,将出现403错误。下面是Windows的解决方案。控制面板->用户帐户->凭据管理器->Windows凭据 删除其中普通凭据中的git密钥。然后重新推送即可。

11.克隆远程库

git clone https://github.com/DedicationTechology/gitskills.git(gitskills是github中被克隆库的名字)
命令执行完毕后会在本地文件夹创建一个同名的仓库

12.ssh协议和https协议

1.在添加远程仓库和克隆远程库的时候,https://github.com/DedicationTechology/learngitfirst.git可以用git@github.com:DedicationTechology/learngitfirst.git代替。
2.使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https。

13.分支管理

分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

14.分支的创建和合并

14.1说明

在版本回退里,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:
在这里插入图片描述
每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长。
当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:
在这里插入图片描述
你看,Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD的指向,工作区的文件都没有任何变化!不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变:
在这里插入图片描述
假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并。
在这里插入图片描述
所以Git合并分支也很快!就改改指针,工作区内容也不变!合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支:
在这里插入图片描述

14.2实战

1.创建dev分支,然后切换到dev分支:
输入:git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
git branch dev
git checkout dev
然后,用git branch命令查看当前分支:
git branch命令会列出所有分支,当前分支前面会标一个*号。
然后,我们就可以在dev分支上正常提交
dev分支的工作完成,我们就可以切换回master分支
输入git checkout master
切换回master分支后,发下刚才在dev分支上的修改都不见了
现在,我们把dev分支的工作成果合并到master分支上
git merge dev
git merge命令用于合并指定分支到当前分支
现在查看就可以看到刚才在dev分支上的操作
现在我们甚至可以删除dev分支
输入git branch -d dev删除dev分支
注意:与远程库相关的分支是master分支,因此只有master分支上的修改才能在远程github上显示出来

15.解决冲突

1.创建一个新的分支feature1,在该分支上对read.md进行修改,然后在该分支上进行提交。
2.切换到主分支master,在该分支上对read.md进行修改,然后在主分支上进行提交。
3.将feature1分支合并到主分支是发现会冲突(git会进行相关的提示)。
在这里插入图片描述
4.现在只能把各自的修改进行合并,直接编辑文件修改内容,Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改后保存并提交。
在这里插入图片描述
5.使用git log --graph命令查看分支合并图
6.最后就可以删除分支了

16.分支管理策略

合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。准备合并dev分支,请注意–no-ff参数,表示禁用Fast forward:git merge --no-ff -m “merge with no-ff” dev,可以看到,不使用Fast forward模式,merge后就像这样
在这里插入图片描述
在实际开发中,我们应该按照几个基本原则进行分支管理:首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。所以,团队合作的分支看起来就像这样:
在这里插入图片描述

17.bug分支

1.软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交,并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么办?幸好,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
2.输入:$ git stash保存当前工作
3.现在,用git status查看工作区,就是干净的(除非有没有被Git管理的文件),因此可以放心地创建分支来修复bug。首先确定要在哪个分支上修复bug,假定需要在master分支上修复,就从master创建临时分支:
4.输入:$ git checkout master
5.输入:$ git checkout -b issue-101
6.现在修复bug
7.修复完成后,切换到master分支,并完成合并,最后删除issue-101分支:
8.用git stash list命令看看刚才的工作现场存到哪去了
9.用git stash pop,恢复的同时把stash内容也删了

18.Feature分支

1.软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。
2.为新功能新建分支
3.$ git checkout -b feature-vulcan
4.$ git add vulcan.py
5.$ git commit -m “add feature vulcan”
6.切回dev,准备合并
7.一切顺利的话,feature分支和bug分支是类似的,合并,然后删除。突然由于某种原因,不能使用新功能,必须删除分支
8.$ git branch -d feature-vulcan
9.销毁失败。Git友情提醒,feature-vulcan分支还没有被合并(),如果删除,将丢失掉修改,如果要强行删除,需要使用大写的-D参数,现在我们强行删除。

19.多人协作

19.1说明

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。要查看远程库的信息,用git remote;或者用git remote -v显示更详细的信息。

19.2推送分支

1.不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
2.master分支是主分支,因此要时刻与远程同步;
dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发
如果要推送其他分支,比如dev,就改成:$ git push origin dev

19.3抓取分支

1.多人协作时,大家都会往master和dev分支上推送各自的修改,可以在另一台电脑(注意要把SSH Key添加到GitHub)克隆你的仓库。
2.当你的小伙伴从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支
3.现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地:
4.输入:$ git checkout -b dev origin/dev
5.现在,他就可以在dev上继续修改,然后,时不时地把dev分支push到远程
6.你的小伙伴已经向origin/dev分支推送了他的提交,而碰巧你也对同样的文件作了修改,并试图推送。
7.你会发现推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送:
8. 输入:$ git pull
9.git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接:
10.输入:$ git branch --set-upstream-to=origin/dev dev
11.继续输入:$ git pull
12.这回git pull成功,但是合并有冲突,需要手动解决,解决的方法和分支管理中的解决冲突完全一样。解决后,提交,再push。
13.因此,多人协作的工作模式通常是这样:
首先,可以试图用git push origin 推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。

20标签管理

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

20.1创建标签

1.在Git中打标签非常简单,首先,切换到需要打标签的分支上:
2.然后,敲命令git tag 就可以打一个新标签
3.默认标签是打在最新提交的commit上的。
4.有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?
方法是找到历史提交的commit id,然后打上就可以了:$ git tag v0.9 f52c633(后面的是版本号)
5.用命令git tag查看标签
6.用命令git show 查看标签信息
7.还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:$ git tag -a v0.1 -m “version 0.1 released” 1094adb
8.用命令git show 可以看到说明文字
9. 注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签

20.2操作标签

1.如果标签打错了,也可以删除:$ git tag -d v0.1
2.因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。如果要推送某个标签到远程,使用命令git push origin tagname:$ git push origin v1.0
3.或者,一次性推送全部尚未推送到远程的本地标签:$ git push origin --tags
4.如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:$ git tag -d v0.9
然后,从远程删除。删除命令也是push,但是格式如下:$ git push origin :refs/tags/v0.9

21.使用github

1.如何参与一个开源项目呢?比如人气极高的bootstrap项目,这是一个非常强大的CSS框架,你可以访问它的项目主页https://github.com/twbs/bootstrap,点“Fork”就在自己的账号下克隆了一个bootstrap仓库,然后,从自己的账号下clone:
2.如果你希望bootstrap的官方库能接受你的修改,你就可以在GitHub上发起一个pull request。当然,对方是否接受你的pull request就不一定了。

22.自定义git

1.让Git显示颜色,会让命令输出看起来更醒目:$ git config --global color.ui true,会适当地显示不同的颜色

22.1忽略特殊文件

1.有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files …,有强迫症的童鞋心里肯定不爽。这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件
2.忽略文件的原则是:忽略操作系统自动生成的文件,比如缩略图等;忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
3.最后一步就是把.gitignore也提交到Git,就完成了!当然检验.gitignore的标准是git status命令是不是说working directory clean。
4.有些时候,你想添加一个文件到Git,但发现添加不了,原因是这个文件被.gitignore忽略了,用git check-ignore命令检查,如果你确实想添加该文件,可以用-f强制添加到Git:$ git add -f App.class

22.2配置别名

1.如果敲git st就表示git status那就简单多了,我们只需要敲一行命令,告诉Git,以后st就表示status:$ git config --global alias.st status,当修改的名字超过一个字符时,用单引号将多个字符括起来
2.当然还有别的命令可以简写,很多人都用co表示checkout,ci表示commit,br表示branch
3.–global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。
4.每个仓库的Git配置文件都放在.git/config文件中:别名就在[alias]后面,要删除别名,直接把对应的行删掉即可。

22.3搭建git服务器

1.GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。
2.搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。
3.第一步,安装git:$ sudo apt-get install git
4.第二步,创建一个git用户,用来运行git服务:$ sudo adduser git
5.第三步,创建证书登录:收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
6.第四步,初始化Git仓库:先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:$ sudo git init --bare sample.git。Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:$ sudo chown -R git:git sample.git
7.第五步,禁用shell登录:出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:git❌1001:1001:,:/home/git:/bin/bash改为: git❌1001:1001:,:/home/git:/usr/bin/git-shell,这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
8.第六步,克隆远程仓库:现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:$ git clone git@server:/srv/sample.git


http://chatgpt.dhexx.cn/article/LjJ3rL0O.shtml

相关文章

GitHub的使用(入门)

本文参考和部分图片来源如何上传代码到github&#xff1f;&#xff0c;但本地操作与其不同 Git Bash的复制快捷键为ctrlinsert,粘贴快捷键为:shiftinsert 1、创建远程仓库 2、下载并安装git 官网下载地址:Git - Downloads &#xff0c;选择windows版本&#xff0c;默认的版本…

GitHub使用教程详解(上)——官网操作指南[翻译]

&#xfeff;&#xfeff; GitHub 指南 原文地址&#xff1a;GitHub官网指南 示例项目&#xff1a;Hello World 十分钟轻松教学 在学习计算机语言编程的过程中创建Hello World 项目是一个历史悠久的传统。当你接触一门新事物的时候可以用它来做一个简单的练习。让我们开始使…

Ublox ZED-F9P 厘米级定位模组开箱评估

最近因为工作需要&#xff0c;在评估Ublox的ZED-F9P高精度定位模组&#xff0c;该模组定位精度号称厘米级&#xff0c;从官方的数据手册看&#xff0c;在RTK条件下&#xff0c;定位精度高达1cm&#xff0c;这个感觉还是挺牛的&#xff0c;因为目前还没有听到一个小模组就能实现…

解决ublox无法定位问题(一直输出$GxTXT)

最近开始研究有关RTK技术的项目&#xff0c;于是先购买了两块ublox公司的NEO-M8T-0型号芯片。&#xff08;注意NEO-M8T还细分为NEO-M8T-0和NEO-M8T-2&#xff0c;前者不支持RTCM输出&#xff0c;后者支持RTCM输出&#xff09; 首先都是按常规步骤&#xff0c;直接把芯片模块串口…

Ublox模块测试分析报告

我们在产品的实际开发过程中需要选择一款GPS模块&#xff0c;目前在GPS芯片和模块这个领域我们国内也有很多的厂家在生产。由于之前一直使用的是ublox的模块&#xff0c;所以对于替换成国内模块之后的产品性能没有一定的了解&#xff0c;所以我们选了一款国内的GPS模块与ublox的…

UBLOX F9P如何恢复出厂设置

很多人在设置完F9P 想变回出厂状态&#xff0c;不知道如何设置&#xff1f;本文提供了一种常用的恢复方法&#xff1a;打开u-center软件&#xff0c;选择好串口和波特率 首先要设置正确的波特率&#xff0c;如果波特率设置不对的话&#xff0c;也是无法恢复出厂设置&#xff0…

UBLOX ZED-F9P输出频率配置

打开u-center软件&#xff0c;选择好串口和波特率 打开view 下 点击message view   在弹出框图下依次选择UBX->CFG->PRT 图中依次标识的1、2、3、4、5&#xff1b;其中第4步为修改输出频率&#xff0c;可以选择1000&#xff0c;500&#xff0c;200&#xff0c;100&…

UBLOX板卡基础设置--F9P板卡配置(基准站和流动站)

UBLOX-F9P板卡配置-基准站/流动站 UBX-F9P模块为双频定位芯片&#xff0c;是市场上目前最常用的高精定位模块&#xff0c;差分定位精度可达厘米级&#xff0c;具体参数详见官方文档 官方文档下载链接&#xff1a; UBX-F9P模组官方说明文档下载 F9P配置口默认波特率为38400&…

Ublox-F9P USB接口

Ublox-F9P USB接口 电脑无法识别 排除电脑驱动问题&#xff0c;可能是因为芯片未使能USB接口。手册上对接口默认设置的描述是需要通过串口1激活USB和串口2&#xff08;实际上大部分芯片是默认激活的&#xff09;。 u-center软件连接ublox串口1&#xff0c;对USB接口进行使能。…

UBLOX F9P搭建NtripCaster组建RTK

UBLOX ZED-F9P搭建Ntrip Caster&#xff0c;组建RTK 目录 UBLOX ZED-F9P搭建Ntrip Caster&#xff0c;组建RTK配置UBLOX ZED-F9P基站云端配置NtripCaster使用Ntripcasterv2.0版本安装在/opt/ntripcaster2 目录下建立定时清理logs服务&#xff0c;自己配置settings.conf配置ntri…

Ublox M8N模块测试指南

Ublox M8N模块测试指南 最近在研究通过GPS模块校时51单片机本地时间系统&#xff0c;同时通过GPS模块获取经纬度、速度。由于工作原因一直断断续续没有推进项目。 这两天通过XY获得一枚Ublox M8N模块&#xff0c;通过其官网手册对其进行测试。必备工具&#xff1a; Ublox 官网&…

ublox lea-6r

转载自&#xff1a;https://tech.hqew.com/fangan_1699781 现代卫星导航系统是目前世界上最先进的导航系统之一。现代卫星导航系统定位精度高&#xff0c;但无法连续提供运载体位置信号&#xff0c;同时&#xff0c;当运载体产生剧烈动作或当导航星全球定位系统信噪较低时定位…

ublox_f9p 代码中接入别人编译好的连接库(PPP定位)

一、程序放置位置 编译完成的文件放置位置如下图所示&#xff1a; 二、主函数中包含编译代码的头文件 #include "../Ublox_PPP/header/UbloxInterface.h" 三、CMakeList中添加动态连接库 此时便可以在主函数中添加编译和调用好的代码 &#xff01; 四、在bashrc中 加…

ublox center获取RTK卫星数据

配置RKT step1 采用有线连接,访问fixposition网页 step2 RTK需要网络连接网络 step3 登录RTK账号&#xff08;必须在有GNSS信号下才能配置成功&#xff09; 连接成功如下所示 u-center获取卫星数据 这里我们通过TCP连接 这里20010 20020分别对应两个天线的数据 这里点这里…

智工运维定位器之ublox_m8030_gps芯片开发

一&#xff0c;概述 GNSS芯片选用了ublox的 UBX-M8030 系列&#xff0c;有3个型号&#xff1a; 可以到官网去下载相关资料&#xff0c;文档还挺齐的&#xff1a; https://www.u-blox.com/zh/product/ubx-m8030-series#tab-product-selection 比较重要的几个文档有&#xff1a; …

UBLOX芯片 M8T几个指令总结

名称指令是不是发一次就行返回示例说明图例查询 MON-HW B5 62 0A 09 00 00 13 43是B5 62 0A 09 3C 00 00 F4 01 00 00 00 00 00 00 00 01 00 EF F7 00 00 62 00 7C 0502 01 01 84 FF EB 01 00 0A 0B 0C 0D 0E 0F 01 00 02 03 FF 10 FF 12 13 36 35 09 EF 5E 00 00 00 00 80 F7 …

ublox m8n

1,这只是一个定位模块&#xff0c;而且只支持L1频段&#xff0c; 72-channel u-blox M8 engine GPS L1C/A, SBAS L1C/A, QZSS L1C/A, QZSS L1 SAIF, GLONASS L1OF, BeiDou B1I, Galileo E1B/C 2.不支持RTK&#xff0c;只支持D-GPS u-blox receivers support Differential-GP…

ublox F9P 开发板使用指南

ublox F9P 自制开发板使用指南 1. 开发板背景介绍 ublox F9P是瑞士ublox公司生产的低成本四系统双频卫星导航接收机&#xff0c;性能出色&#xff0c;得到了广泛使用。 这款自制板卡使用ublox F9P芯片制作而成&#xff0c;包含2个串口、1个USB口、1个SPI口、1个I2C口&#…

GPS Ublox配置

UBLOX常用设置参数 ublox-config.c GPS原始RMC数据解析之DDMM.MMMM 解析GPS RMC语句 如何设置GPS模块只发送GGA和RMC数据 U-BLOX GPS 模块及GPRMC指令解析 GPS的hot start、cold start和warm start 分享GPS获得的UTC时间转换为北京时间&#xff0c;还有星期转换函数 UTC转北京…

智工运维定位器之ublox

一&#xff0c;概述 GNSS芯片选用了ublox的 UBX-M8030 系列&#xff0c;有3个型号&#xff1a; 可以到官网去下载相关资料&#xff0c;文档还挺齐的&#xff1a; https://www.u-blox.com/zh/product/ubx-m8030-series#tab-product-selection 比较重要的几个文档有&#xff1a; …