- (꒪ꇴ꒪ ),Hello我是祐言QAQ
- 我的博客主页:C/C++语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍
- 快上🚘,一起学习,让我们成为一个强大的攻城狮!
- 送给自己和读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!
- 作者水平很有限,如果发现错误,请在评论区指正,感谢🙏
一、 介绍
1. 什么是Git
Git是一个分布式版本控制系统,由Linus Torvalds在2005年创建。它旨在追踪文件和目录的变化,并且支持多人协同工作。Git的设计目标包括速度、简单性、非线性开发(可以同时进行多个分支的工作)以及对大型项目的支持。Git是一个强大而灵活的版本控制系统,它在团队协作和个人项目管理中都有广泛的应用。通过熟练使用Git,你可以更有效地追踪项目历史、协同工作和管理代码。
2.安装Git(已装请跳过)
首先,你需要安装Git,打开浏览器手动搜索git(不要用百度,都是广告,我这里用的Bing)
当然你也你可以在这里直达(选择64-bit for Windows Setup),然后下载安装包,同意不pd条约,就安装完成了:Git - Downloading Package (git-scm.com)
安装完成后,直接在桌面右键,当你看到里面有这两行,那么就安装完成了。
3. 配置Git(可跳过但还是得填)
在开始使用Git之前,你需要配置用户信息,包括用户名和邮箱。这可以通过以下命令完成:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
二、Git的基本使用
1. 创建新仓库
使用Git进行版本控制的第一步是初始化一个新仓库,并进入项目目录。
(1)自己创建
首先我们在桌面右键后点击 Git Bash here 然后使用 cd 命令(基本的linux命令Linux终端介绍与常用shell命令35例-CSDN博客) 进入你想要存放代码的项目目录(我这里是在桌面新建的演示目录New)
(2)直接 clone
你也可以选择直接克隆而不是创建新的项目目录,使用git clone +目标地址,我这里选择的是opencv库作为演示地址(具体地址自行更换copy一下)。
git clone https://github.com/opencv/opencv.git
等待期加载完成即可,我这里就不等了跳过。
2. 肆无忌惮修改环节
当然,很多时候你们clone 的都是自己的代码,随意修改即可(vs code还是其他都好),直到你需要提交代码。
3. 提交更改
(1)初始化仓库,使用 git init 命令
git init
初始化完成后,本地文件会生成一个.git文件。
git checkout -b 创建你的分支名(在本地创建一个新的分支,用于进行你的开发工作)。
(2)将当前目录下所有的修改或新增的文件添加到暂存区
git add .
(3)提交更改
Git通过提交来跟踪项目的更改。用于将暂存中的更改创建为一次提交,使用以下命令:
git commit -m '提交描述'
三、将代码上传至远程仓库Gitlab
1.建立本地仓库和远程仓库关系并推送
git remote add origin http://ip地址+端口/路径/(项目名称).git
找到Gitlab上面http地址,克隆下来,把4492c9d4d2e9更改为指定的ip地址即可,当然如果你的地址不变还是要传回该地址,那么就直接copy就行,无需修改任何地方。
然后需查看是否连接成功,使用 git remote -v 命令来查看:
gir remote -v //检查
如果有误则用 git remote rm origin,重新连接一下:
git remote rm origin //重连
2. 本地内容上传至远程仓库
如需先拉取远程仓库的master代码则先执行:
git pull --rebase origin master
然后执行 git push -u origin master 命令:
git push -u origin master
这里要强调一下,如果你是只是更新代码(本地上传至仓库)那么就直接使用git push 就行,无需分支名(合并使用),成功的话就可以在你的gitlab上看到了,运行界面大致如下,只要不报红色错误,基本都是成功。
3. 提交和推送的区别
在Git中,提交修改(`git commit`)和推送更改(`git push`)是两个不同的操作,它们分别用于本地版本库和远程版本库。
(1)提交修改 git commit
①本地操作:git commit 用于将当前工作目录中的修改提交到本地版本库。这个操作将你在工作目录中所做的更改创建为一个新的提交(commit)。
②提交消息:每次提交都需要附带一个提交消息,这个消息描述了你所做的修改的目的和内容。
③不影响远程仓库:git commit 操作只影响你本地的版本库,其他开发者在他们的本地版本库中不会看到你的提交。
(2)推送更改 git push
①远程操作:git push 用于将本地的提交推送到远程版本库,通常是与共享仓库(比如GitHub、GitLab等)进行交互。这将你本地的提交同步到共享仓库中,以便其他开发者能够看到和获取这些更改。
②分支关联:在推送之前,通常你需要确保本地分支与远程分支关联。这可以通过 `git push -u origin <branch-name>` 命令来完成,其中 `<branch-name>` 是你的本地分支名。
③需要权限: 推送操作需要相应的权限。你必须有推送到远程仓库的权限,通常需要提供用户名和密码或者SSH密钥。
四、关于分支管理和解决冲突
1. 分支管理
分支是Git强大功能之一,可以用于并行开发和功能测试。在Git中,分支(Branch)是指指向某个提交对象的可变指针,它允许你在代码库中的不同开发线路上工作。每个分支都是一个独立的指针,指向版本库中的某个特定提交。这使得你可以在不影响主要代码线路的情况下开展新的工作,实现并行开发、功能分支、bug修复等。
- 切换分支:
git checkout <branch-name>
或者
git switch <branch-name>
这个命令用于切换到指定的分支。
- 创建并切换到新分支:
git checkout -b <new-branch-name>
这个命令用于创建并立即切换到一个新的分支。
- 查看分支:
这个命令用于列出所有本地分支,当前分支会有一个git branch
*
号标记。
- 合并分支:
git merge <branch-name>
这个命令用于将指定分支的更改合并到当前分支。
- 删除分支:
git branch -d <branch-name>
这个命令用于删除指定分支。请注意,要删除的分支不能是当前所在的分支。
- 远程分支:
远程分支是指在远程仓库上的分支,可以通过这两个命令获取远程分支。git fetch origin git branch -r
- 推送分支:
git push origin <branch-name>
这个命令用于将本地分支推送到远程仓库。
2. 解决冲突
在合并分支或拉取更改时,可能会发生冲突。解决冲突的过程包括手动编辑文件以解决冲突并提交更改。
(1)报 fatal:remote origin already exists
这个错误通常表示你在尝试添加远程仓库时,Git 已经存在名为 "origin" 的远程仓库。origin
是Git默认用来指代远程仓库的名称,通常与你的项目关联。
如果你已经有了一个远程仓库,再次尝试添加 origin
将会导致这个错误。解决方法有两种:
①查看已有的远程仓库
你可以先查看已有的远程仓库,确认是否已经存在名为 "origin" 的远程仓库。可以使用以下命令查看:
git remote -v
如果已经存在 "origin",你可能不需要再次添加它。你可以直接使用已存在的远程仓库进行拉取和推送。
②修改已有的远程仓库
如果你确实需要修改远程仓库,你可以使用以下命令来修改 origin
的URL:
git remote set-url origin <new-url>
将 <new-url>
替换为新的远程仓库URL。这样可以更新 origin
的URL,而不会导致冲突。
请根据你的具体情况选择合适的方法。确保你了解项目当前的远程仓库设置,以便不会不小心覆盖或创建重复的远程仓库。
更多C/C++语言、Linux系统、数据结构和ARM板实战相关文章,关注专栏:
📢写在最后
- 今天的分享就到这啦~
- 觉得博主写的还不错的烦劳
一键三连喔
~ - 🎉🎉🎉感谢关注🎉🎉🎉