欢迎来到我的CSDN主页!
我是Java方文山,一个在CSDN分享笔记的博主。
推荐给大家我的专栏《Git》。
点击这里,就可以查看我的主页啦!
Java方文山的个人主页
如果感觉还不错的话请给我点赞吧!
期待你的加入,一起学习,一起进步!
目录
一、Git简介
1.1.什么是Git
1.2.Git与SVN的区别
1.3.Git工作流程
二、安装Git
三、注册Gitee帐号
3.1.注册账号
3.2.新建码云仓库
四、使用Git进行上传与下载代码
4.1.上传代码
4.2.下载代码
五、使用Git代码冲突
1.git冲突的场景(主要演示情景三)
2.解决方案
六、Git常用命令
Git是一种分布式版本控制系统,它最初由Linus Torvalds于2005年创建,用于管理Linux内核的开发。Git的主要作用是跟踪文件的变化,以便多人协同开发同一个项目时能够更好地管理代码。
Git的核心优势包括:
分布式 vs 集中式:
分支管理:
性能:
历史记录:
总的来说,Git更加灵活、高效,并且适合分布式团队协作,而SVN在一些传统的集中式开发环境中仍然有其优势。随着时间的推移,Git已成为许多团队和项目的首选版本控制系统。
展开说说,我们大致可以分为以下几点关于SVN的不便之处
①SVN管理如果项目经理不在身边,代码不能上传。
②如果项目经理电脑出现问题,那么最新的代码会丢失。
③项目经理在身边但是因为网络问题导致代码上传。
④版本1迭代到版本2后,又想获取版本1部分代码会牵扯代码冲突问题。
①初始化仓库或克隆现有仓库:
使用 git init 在本地创建一个新的Git仓库,或者使用 git clone <远程仓库地址> 克隆现有的远程仓库到本地。
②配置用户信息:
使用 git config 命令配置用户的姓名和邮箱,这些信息将与提交记录一同保存在Git中。
③工作目录、暂存区和版本库:
④提交修改:
使用 git add 命令将工作目录的修改添加到暂存区,然后使用 git commit 命令提交暂存区的内容到本地版本库。
⑤查看状态和历史:
使用 git status 命令查看工作目录和暂存区的状态,以及哪些文件被修改过。
使用 git log 命令查看版本库的提交历史。
⑥分支管理:
使用 git branch 命令创建、查看或删除分支。
使用 git checkout 命令切换分支。
⑦远程操作:
使用 git remote add 命令添加远程仓库,可以是自己的服务器或托管服务(如GitHub、GitLab等)。
使用 git push 命令将本地分支推送到远程仓库,使用 git pull 命令拉取远程仓库的更新到本地。
⑧合并和解决冲突:
使用 git merge 命令合并不同分支的修改,可能需要解决冲突。
git官网地址:https://git-scm.com/download/win/
选择所需要的版本,进行下载。
下载完成之后,双击下载好的exe文件进行安装。
默认是C盘,推荐修改一下路径(非中文并且没有空格),然后点击下一步。
Git 选项配置,推荐默认设置,然后下一步。
Git 安装目录名,不用修改,直接点击下一步。
Git 的默认编辑器,建议使用默认的 Vim 编辑器,然后点击下一步。
在Git创建分支后的默认的名字(master),如果没有特别的使用默认的设置,点击next即可。
修改 Git 的环境变量,使用默认的即可,点击next。
开启https连接,保证数据传输数据的安全,按照默认的选择即可。
配置 Git 文件的行末换行符,Windows 使用 CRLF,Linux 使用 LF,选择第一个自动转换,然后继续下一步。
选择 Git 终端类型,选择默认的 Git Bash 终端,然后继续下一步。
选择 Git pull 合并的模式,选择默认,然后下一步。
选择 Git 的凭据管理器,选择默认的跨平台的凭据管理器,然后下一步。
其他配置,选择默认设置,然后下一步。
额外的配置选项,技术还不成熟,有已知的 bug,不建议勾选,然后点击右下角的 Install按钮,开始安装 Git。
安装完成后,点击FInish安装完成。
任意位置右击出现git bash here或者git gui here就说明没毛病
首先需要去Gitee官网注册一个账号
Giteehttps://gitee.com/profile/emails
注册好了即可创建一个仓库
首先在你的本地新建一个文件夹也就是你的本地仓库用于存储代码
在该目录下右键点击 git bash here打开Git终端执行命令(命令就是刚刚所保管的)
如果c盘用户文件夹下有一个.gitconfig文件打开如果是正确的账户密码就可以了
创建文件夹(本地仓库),创建完成后cd进入该文件夹
将该文件夹标记为git所托管的本地仓库
将本地仓库与码云关联
git status查看管理状态(如果是红色就是还没有进行git管理)
git add.将文件交给git管理(.表示全部文件,也可以指定文件就是文件全名)
本地仓库与远程仓库进行绑定
git remote add origin https://gitee.com/xiawei18/java-fang-wenshan.git
上传文件到码云git push -u origin "master"
这时候上码云查看就有该文件了(代码也是同理这里用了文件来演示而已)
下面我们上传代码试一下,使用git add .上传到本地再git status查看文件状态
git commit -m "环境搭建完成上传真正的代码"
git push -u origin "master"
首先下载也需要一个文件夹来存储我们的代码
git clone 下载代码需要拿到仓库的URL(如果是私有仓库还需要仓库拥有者提供账户和密码)
情景一:多个分支代码合并到一个分支时;
情景二:多个分支向同一个远端分支推送代码时;
情景三:同一分支,同一文件修改后的提交(即为多个程序员修改了同一个文件)
实际上,push操作和pull操作其实就分别是用本地分支合并到远程分支 和 将远程分支合并到本地分支,所以这两个过程中也可能存在冲突。
分别在同一项目的两个不同本地仓库修改a.txt并提交,则会报出以下错误:
! [rejected] master -> master (fetch first) error: failed to push some refs to ' 。。。'
拒绝错误:无法推送某些引用
1.将代码copy出来
2.先从远程仓库pull代码至本地,再修改冲突代码,
注1:git status查看仓库状态,会显示红色的错误提示消息“ both modified: a.txt”
3.打开a.txt,手动修改冲突部分的代码
<<<<<<< HEAD
ww add 18:42 from e:\temp\test1
=======
ls add 123 at 18:17 from d:\temp\test1
>>>>>>> 63c73e5933bb7d3d2bed04b06c37a74602d65b2e
注1:<<<<<<< HEAD >>>>>>>之间的即为冲突的代码,手动修改即可
3.依次add/commit/push代码至远程仓库
commit执行完生,重新查看仓库状态git status,红色的错误提示消息“ both modified: a.txt”
已经没有,表示冲突已解决
到这里我的分享就结束了,欢迎到评论区探讨交流!!
如果觉得有用的话还请点个赞吧