【Git】Git(分布式项目管理工具)在Windows本地命令行中的基本操作以及在gitee中的操作,使用命令行、图形化界面,进行提交,同步,克隆
作者:mmseoamin日期:2023-12-27

介绍

这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长!

以下为小编最喜欢的两句话:

要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。

一个人为什么要努力? 我见过最好的答案就是:因为我喜欢的东西都很贵,我想去的地方都很远,我爱的人超完美。因此,小编想说:共勉!

目录

一、开发注意事项

二、 Git

网址:

1、什么是git?

2、 Git 与 SVN 区别

3、Git、Gitee、Github、Gitlab的区别以及功能

1、Git

2、gitee

3、github

4、gitlab

5、不同点

4、Git工作流程

 5、Git原理

三、码云新建仓库

了解码云中一些名词的意义

 1、进入码云官网,注册一个账号并登录​编辑

 2、创建仓库

3、仓库创建步骤

1)在创建仓库的时候,先不初始化仓库

1、创建仓库

 2、将全局设置保存,进行初始化readme文件​编辑

 3、进入仓库页面 

4、将仓库改为公有仓库(开源仓库)

看是否是开源仓库

2)在创建仓库的时候,初始化仓库

1、创建仓库

 2、初始化readme文件

3) 在创建仓库时,选择readme模板

四、在gitee中进行基本操作

1、文件上传

2、创建Issue

3、添加仓库成员

 五、在Windows中进行基本操作

方式一:使用图形化界面直接操作

1、克隆——将远程仓库的项目下载到本地

如果没有绿色的图标(如果还是无效的话,建议去看看其他博主的文章)

git关联的的文件没有绿色、红色小图标按步骤处理,然后重启电脑即可。

 2、文件上传——将本地文件上传到远程服务器中

 3、文件拉取,更新/同步pull

 4、文件更新时发生冲突

1、为什么会发生冲突?

2、制造冲突

第二步:在本地文件中创建一个新的文件one,并进行提交

第三步:提交成功,推到远程仓库

第四步:发生冲突​编辑

 解决冲突

 第一步: 点击上图的拉取,进行同步

第二步:拉取成功,将远程仓库同步到本地

第三步:查看文件,已经同步

 第五步:推送成功​编辑

 第六步:查看远程仓库是否和本地同步

 方式二:使用命令行进行操作

1、克隆

首先在gitee仓库中复制git  URL

第一步:新建空文件夹----空白处右击----git bash here 

第二步:运行命令:git clone 你在gitee中复制的URL路径

第三步:文件已经克隆成功

2、上传文件——上传到远程仓库

第一步:创建文件

 第二步:在命令行中写入

 第三步:查看文件是否提交成功​编辑​

3、文件更新(pull)--同步,拉取

第二步:在 命令行中进行拉取更新

4、文件更新时发生冲突(与在图形化界面的发生冲突中进行一样的步骤)

1、为什么会发生冲突?

解决冲突

六、清空用户配置

 七、Git常用命令


一、开发注意事项

  • 代码需要备份【主要是防止代码丢失】
  • 每个大版本都需要备份支持【主要是1.0出现问题时,不能在2.0的版本上修复】
  • 每天上午上班,要从服务器下载最新的代码到本地
  • 每天下午下班前,把自己的代码提交到服务器(一定是测试过,没有问题的代码)
  • 团队开发时需要解决文件冲突问题

    二、 Git

    网址:

    • 国内git服务器地址:Gitee - 企业级 DevOps 研发效能平台  码云
    • 国外git服务器地址:GitHub: Let’s build from here · GitHub 

      1、什么是git?

      • Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
      • Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
      • Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

        2、 Git 与 SVN 区别

        Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。

        如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

        Git 与 SVN 区别点:

        • 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。

        • 2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

        • 3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。

        • 4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

        • 5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

          3、Git、Gitee、Github、Gitlab的区别以及功能

          1、Git

          git 是一种版本控制系统,是一个命令,是一种工具。

          再看与svn的对比

          我们用svn和git对比着来说,svn是集中式版本控制系统,而git是分布式版本控制系统。

          1、集中式版本控制系统是指版本库集中存放在一个中央服务器中,我们需要在自己电脑上通过连接中央服务器,从而把代码clone到本地,或者把自己电脑上的代码提交到中央服务器,如果中央服务器被炸毁了,那么所有的版本库都没了。在工作中,公司一般都有一个svn服务器,也就是版本控制系统,大家在自己电脑上通过TortoiseSVN客户端连接svn服务器,从而进行相应的版本库的操作。

          2、分布式版本控制系统没有所谓的“中央服务器”,每个人的电脑上都可以安装一个版本控制系统,自己写的代码提交到自己电脑上的版本库中;

          (1)如果不进行多人协作,自己电脑上的版本库就足够用了。我们在自己电脑上下载并安装git,这个git就是版本控制系统;我们可以通过TortoiseGit客户端连接安装的git版本控制系统,从而进行相应的版本库的操作。

          (2)如果进行多人协作,每个人都需要将自己电脑上版本库中的新修改同步到其他人的版本库中,可以有两种方式;第一:将自己的修改直接推送到其他人的版本库中,我不会弄。第二:建立一台充当“中央服务器”的电脑,每个人把自己电脑上版本库和中央服务器建立通信,但这个中央服务器的作用仅仅是用来方便“交换”大家的修改,在大家不相互协作的情况下,没有它大家也一样干活,如果中央服务器有一天被人炸了也没关系,因为我们每个人的电脑上都有一个完整的版本库。现在流行的github(外国的)、gitee(中国的码云)都是开放的中央服务器,公司内部还可以使用gitlab来自己搭建中央服务器。

          2、gitee

          Gitee 即码云,是 oschina 免费给企业用的,不用自己搭建环境,可以建立自己的私有仓库。是由开源中国社区推出的基于git的代码托管服务平台。目前招商银行,中国科学技术大学,CSDN等多家企业和机构都在使用码云平台。

          3、github

          Github 是一个基于git实现在线代码托管的仓库,向互联网开放,共有仓库免费,建立私有仓库要收费,因为Github的初衷就是为了大家共享自己的劳动成果。

          4、gitlab

          github和gitlab都是基于git仓库的web开发流程代码托管平台。两者的区别是github有私有仓库和共有仓库,私有仓库一般收费,gitlab打破这种限制,可以免费搭建私有仓库,并且可以部署在自己的服务器上。gitlab不仅有github的功能,还有更多的优秀特性,比如权限设置。一般企业内部软件产品用gitlab是更好的选择,如果是开源产品,一般放在github上。

          5、不同点

          1)GitHub、GitLab 不同点:

          1、GitHub如果使用私有仓库,是需要付费的,GitLab可以在上面搭建私人的免费仓库。

          2、GitLab让开发团队对他们的代码仓库拥有更多的控制,相对于GitHub,它有不少的特色:

          (1)允许免费设置仓库权限

          (2)允许用户选择分享一个project的部分代码

          (3)允许用户设置project的获取权限,进一步提升安全性

          (4)可以设置获取到团队整体的改进进度

          (5)通过innersourcing让不在权限范围内的人访问不到该资源

          2)github 是一个基于git实现在线代码托管的仓库,向互联网开放,企业版要收钱。


          3)gitee 即码云,是 oschina 免费给企业用的,不用自己搭建环境。


          4)gitlab 类似 github,一般用于在企业内搭建git私服,要自己搭环境。

          第一,github针对企业要收费,那当然是不同意,毕竟都想节约资金,那就还能使用gitee,或者gitlab了。

          第二,但是码云虽然是免费的,而且不用自己搭环境,但是企业中把项目放在别人的服务器上,始终没有安全感。

          第三,因此,衍生出了gitlab,就是用于企业搭私服,而且还是在自己的服务器上。

          4、Git工作流程

          ​ 

           5、Git原理

           Git的三步: 添加(add)、提交(commit)、推(push)

          三、码云新建仓库

          工作台 - Gitee.com

          了解码云中一些名词的意义

          Issues: Issue 用于跟踪待办事项、bug、功能需求等。

          Pull Requests: 一种通知机制。你修改了他人的代码,将你的修改通知原来的作者,希望他合并你的修改.

          fork: 你需要把别人的代码,克隆到你自己的仓库叫fork

          wiki:存放文档说明

          devops: DevOps贯穿了软件全生命周期,而不仅限于开发阶段,让开发人员和运维人员更好地沟通合作,通过自动化流程来使得软件整体过程更加快捷和可靠。 

                很多公司招devops工程师(既懂开发又懂运维,管理层)

           1、进入码云官网,注册一个账号并登录

           2、创建仓库

          1)第一次创建仓库可以在下图中点击仓库,进入仓库页面进行创建。

          2)不是第一次创建仓库,点击个人头像旁边的“+”号

           

          3、仓库创建步骤

          注意:只要填写了仓库名称下面的路径就会自动填写(无论名称是中文还是英文)

          1)在创建仓库的时候,先不初始化仓库

          1、创建仓库

          注意: 这里默认私有仓库,需绑定手机号或者邮箱(两个都需要)才能改为公有仓库 (我的----设置---绑定手机)

           

           

           2、将全局设置保存,进行初始化readme文件

           3、进入仓库页面 

          4、将仓库改为公有仓库(开源仓库)

           

          看是否是开源仓库

          下图为私有仓库

          下图为开源仓库

          2)在创建仓库的时候,初始化仓库

          1、创建仓库

           2、初始化readme文件

          出现下图,步骤与上面未选择初始化仓库一致

          3) 在创建仓库时,选择readme模板

           创建仓库就直接跳转到,仓库详情页面了

           然后再进行上述的步骤,进行仓库的开源设置

          四、在gitee中进行基本操作

          1、文件上传

           注意:使用gitee上传文件的话,文件不能超过20个,尽量不要上传压缩包

          Gitee 使用配额说明 - Gitee.com

          2、创建Issue

          用于跟踪待办事项、bug、功能需求等

          3、添加仓库成员

           

           

           

           五、在Windows中进行基本操作

          方式一:使用图形化界面直接操作

          如果使用图形化界面上传文件 ,一定要用命令行的方式做全局配置

          第一步:进入命令行,右击

           再在命令行中敲入全局配置

          如果使用图形化界面上传文件 ,一定要用命令行的方式先做如下配置

             git config --global user.email "you@example.com"

              git config --global user.name "Your Name"

           上面的全局配置,就是在新建仓库的时候,在红框中的那两条代码

          1、克隆——将远程仓库的项目下载到本地

          第一步:复制链接

          第二步:右击想存放的地方,点击克隆

           第三步:进行路径选择

           

           第五步:开始克隆

           第六步:克隆成功

           

           在你刚刚右击的位置会出现一个带绿标的文件夹

          如果没有绿色的图标(如果还是无效的话,建议去看看其他博主的文章)

          git关联的的文件没有绿色、红色小图标
          按步骤处理,然后重启电脑即可。

          按Win+R键打开运行对话框,输入 regedit.exe ,准备修改注册表;

          找到 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer;

          新建一个键名称为 “Max Cached Icons” 数据设置为 “2000”;

          重启一下电脑,图标就可以显示了。

           2、文件上传——将本地文件上传到远程服务器中

          注意:如需推送到远程仓库需要提交(commit)在推送(push)

                  如只需保存在本地提交(commit)就行

          未提交时,文件是无绿色图标的

          右击,点击提交到master

           

          选择上传的文件,并填写备注

          如果想上传到本地仓库,记得推送

          如果想保存在本地,无需推送

          选择版本分支(此文章为测试案例,如是真实项目,需在哪里上传代码,则选择什么分支)

           

          推送成功,关闭

           

           3、文件拉取,更新/同步pull

          首先在gitee中新建文件

           写入内容

          查看内容

           

          本地并没有刚刚在gitee中创建的文件,需要进行更新操作

           

          右击,进行同步

           拉取在远程仓库的文件

           

           4、文件更新时发生冲突

          1、为什么会发生冲突?

           在gitee中创建文件或者在文件中修改代码,且在本地操作本地没有进行同步更新,就进行修改或者创建并且提交  就会发生冲突

          2、制造冲突

          注意:git与svn不同的是,svn自动会对比哪里出现了冲突,而git是要自己手动pull拉取更新之后才会进行对比并显示发生冲突的提示

          第一步:在gitee中修改文件

          第二步:在本地文件中创建一个新的文件one,并进行提交

          第三步:提交成功,推到远程仓库

          第四步:发生冲突

           翻译如下:

          Updates were rejected because the remote contains work that you do

          hint: not have locally. This is usually caused by another repository pushing

          hint: to the same ref. You may want to first integrate the remote changes

          hint: (e.g., 'git pull ...') before pushing again.

          hint: See the 'Note about fast-forwards' in 'git push --help' for details.

          更新被拒绝,因为远程包含您执行的工作

          提示:没有本地。这通常是由另一个存储库推送引起的

          提示:到同一个参考。您可能希望首先集成远程更改

          提示:(例如,“git pull ...”)在再次推动之前。

          提示:有关详细信息,请参阅“git push --help”中的“关于快进的说明”。

           解决冲突

           第一步: 点击上图的拉取,进行同步

          第二步:拉取成功,将远程仓库同步到本地

          第三步:查看文件,已经同步

           第四步:再进行同步,将one推送到远程仓库

           第五步:推送成功

           第六步:查看远程仓库是否和本地同步

           

           当然冲突的解决还可以使用其他的方式,可以查看小编其他的文章,小编在后续会推出

          下面为冲突的其他解决方法,如果上述没有解决的话,可以看看小编下面的文章

          【Git】制造冲突以及解决冲突的详细方法_determine ZandR的博客-CSDN博客

           方式二:使用命令行进行操作

          1、克隆

          首先在gitee仓库中复制git  URL

           

          第一步:新建空文件夹----空白处右击----git bash here 

          第二步:运行命令:git clone 你在gitee中复制的URL路径

          第三步:文件已经克隆成功

           

          2、上传文件——上传到远程仓库

          第一步:创建文件

           第二步:在命令行中写入

          git add .

          git commit -m "注释语句"

          git push -u origin master

           

           注意:推荐在命令行中上传文件,项目可以一次性上传完成

           第三步:查看文件是否提交成功

          3、文件更新(pull)--同步,拉取

          第一步:在gitee中编辑文件(你可以新建文件)

          第二步:在 命令行中进行拉取更新

          4、文件更新时发生冲突(与在图形化界面的发生冲突中进行一样的步骤)

          1、为什么会发生冲突?

           在gitee中创建文件或者在文件中修改代码,且在本地操作本地没有进行同步更新,就进行修改或者创建并且提交  就会发生冲突

          中间的步骤我就不详细讲了,直接看怎么样才算是冲突错误

           进行提交之后,就出现 failed to push some refs to 'https://gitee.com/。。。。’

          解决冲突

          使用上面的方法无法解决冲突,可看小编下面的文章

          【Git】制造冲突以及解决冲突的详细方法_determine ZandR的博客-CSDN博客

          注意:git与svn不同的是,svn自动会对比哪里出现了冲突,而git是要自己手动pull拉取更新之后才会进行对比并显示发生冲突的提示

          六、清空用户配置

          Dos下以管理员身份进入运行命令:git config --system --unset credential.helper

          如果不行,直接删除windows凭据

          控制面板===》用户账户===》票据管理器

           七、Git常用命令

          • git init:初始化一个git仓库
          • git clone:clone一个git仓库
          • git config:配置信息
          • git add:添加文件到缓存命令
          • git status:查看文件的状态命令
          • git diff:查看更新的详细信息命令
          • git commit:提交命令
          • git reset HEAD:取消缓存命令
          • git rm:删除命令
          • git mv:移动或重命名命令
          • git branch:查看分支命令
          • git branch (branchname):创建分支命令
          • git checkout (branchname):切换分支命令
          • git merge:合并分支命令
          • git branch -d (branchname):删除分支命令
          • –oneline :查看历史记录的简洁版本
          • –graph :查看历史中什么时候出现了分支、合并
          • –reverse :逆向显示所有日志
          • –author :查找指定用户的提交日志
          • –since、–before、 --until、–after: 指定帅选日期
          • –no-merges :选项以隐藏合并提交
          • git remote add:添加远程仓库
          • git remote:查看当前的远程仓库
          • git fetch、git pull:提取远程仓仓库
          • git push:推送到远程仓库
          • git remote rm:删除远程仓库

            以上就是小编所实践的内容,希望能够帮助到大家,感谢各位大佬的观看!!! 

             参考文章:(1条消息) git、gitee、github、gitlab 区别以及功能_gitlab和gitee的区别_有没有人告诉你的博客-CSDN博客正在上传…重新上传取消https://blog.csdn.net/ios_xumin/article/details/118361335https://blog.csdn.net/ios_xumin/article/details/118361335

            GIT(分布式版本控制系统)_百度百科 (baidu.com)正在上传…重新上传取消https://baike.baidu.com/item/GIT/12647237https://baike.baidu.com/item/GIT/12647237 Git 常用基本命令使用详细大全_git的常用命令_坚强的小水滴的博客-CSDN博客正在上传…重新上传取消https://blog.csdn.net/qtiao/article/details/97783243https://blog.csdn.net/qtiao/article/details/97783243

            master (non-fast-forward)”_Lawrence_121的博客-CSDN博客正在上传…重新上传取消https://blog.csdn.net/m0_37806112/article/details/82289606">git 上传出现“ ! [rejected] master -> master (non-fast-forward)”_Lawrence_121的博客-CSDN博客正在上传…重新上传取消https://blog.csdn.net/m0_37806112/article/details/82289606https://blog.csdn.net/m0_37806112/article/details/82289606