0


Windows下Git的使用(TortoiseGit基本使用)

目录

一、克隆远程仓库到本地

  首先需要复制git中远程仓库的链接
在这里插入图片描述
  然后在想要clone的文件夹下,点击右键选择git clone。刚才的链接就会自动复制过来,下面directory是我们想要clone的文件夹路径。最后点击ok,看到success就表示成功了
在这里插入图片描述

二、git的三板斧

2.1 add-将代码添加到本地仓库

  在写完代码后想要添加代码,首先在刚才clone的文件夹下右键,选择tortoise,然后选择add
在这里插入图片描述
  出现finished success表示add的操作已经完成

2.2 commit-提交代码到本地仓库

  我们需要将add之后的文件提交到本次仓库,就可以用commit来实现。
点击右下角的commit按钮就可以实现提交到本地仓库,需要在message中写好相应的修改信息,以便以后更好的管理
在这里插入图片描述
在这里插入图片描述
  点击commit后如果出现success后表示已经提交成功

2.3 push-推送本次添加操作到远程仓库

  最后想要推送到远程仓库就需要用push操作,点就左下角的push按钮,第一次push可能会让你输入用户名和密码,然后点击push,即可完成推送
在这里插入图片描述
  看到success表示已经完成推送,在远程仓库中就可以看到你提交的代码了。

2.4 gitee只有三板斧吗?

其实,gitee有很多操作。
在这里插入图片描述
  pull表示拉取远程仓库中的文件到本地仓库
  diff表示查看两个版本之间的差异
  show log表示查看日志,可以看出哪天提交,修改了哪些内容

三、推送后没有出现绿点

  出现推送后没有出现绿点的情况,可能是因为,你本地的用户和邮箱和远程仓库的邮箱不一致,需要将远程仓库的邮箱在本地中进行设置。
在这里插入图片描述
  在name和email中将远程仓库的邮箱复制过来,最后点击确定即可完成

四、push到远程时报错

  在使用git工具,在向远程仓库push推送代码的时候,经常会看到如下的报错:
在这里插入图片描述
  从信息中可以看到,更新远程仓库的信息被拒绝了,原因是远程仓库中包含了本地不具有的信息,就是远程仓库中的信息没有更新到本地仓库里面。这个通常是因为在其他仓库中向远程仓库中推送了代码。你可能需要执行git pull(拉取),把远程仓库的变化更新到本地来。

  这个问题出现的原因,基本就是别人在你后面又提交了一次,导致你本地的文件信息与远程仓库里的信息不一致
在这里插入图片描述
  使用pull先把最新的信息拉取到本地,最后再push就可以解决了。

五、在本地新建分支

  假设在远程仓库有master分支和dev分支
在这里插入图片描述
  在git中可以看到当前clone下来的代码是处于master分支的,点击右键选择TortoiseGit——>选择Switch/Checkout
在这里插入图片描述
  这时候,你可以选择想要切换的分支。下面的Create New Branch可以修改创建新的分支(注意这是你本地创建的新分支,不是远程仓库的)
  我们选择dev分支后点击OK,即可切换到dev分支

接下来我们以dev分支来创建属于自己的一个新分支
在这里插入图片描述
在这里插入图片描述
  在自己想要创建新的分支的时候,上面的Branch就不需要进行选择了,直接选择下面的Create New Branch,然后输入自己想要创建的分支名(这里以test分支为例),点击OK即可创建好自己的分支
  在当前分支下对代码进行开发完成之后,可直接使用add–>commit–>push进行提交,此时就把代码成功提交到了自己的分支上面

现在想要把自己的test分支提交到dev分支中(就是将test分支的内容合并到dev分支中)
在这里插入图片描述
  首先,需要切换到dev分支,在Branch中选择dev,然后点击OK即可
在这里插入图片描述
  右键点击选择TortoiseGit,然后选择Merge准备进行合并
在这里插入图片描述
  在合并的来源中选择我们刚才新建的test分支,点击OK即可合并,此时在本地的dev分支中就可以看到我们之前在test分支中添加的内容
  然后,我们需要将dev分支的内容提交到远程仓库里面,
在这里插入图片描述
  直接选择push即可将本地dev分支中的内容提交到远程仓库

如何在dev分支和test分支中对同一行代码进行修改后,会产生冲突,需要进行解决
  当我们在两个分支对同一行代码进行修改后,现在需要在dev分支中对test分支进行合并,
在这里插入图片描述
  首先,选择Branch为test分支,然后点击OK即可合并
在这里插入图片描述
在这里插入图片描述
  在合并的时候会出现一下提示,表示当前dev分支的内容与test分支的内容出现冲突
在这里插入图片描述
  点击确定后会出现以上的提示,提示中可以看到,合并出现冲突的地方为1.text文件
在这里插入图片描述
  点击resolve之后会弹出以上对话框,双击冲突的文件
在这里插入图片描述
  左边表示的是test分支文件的内容,右边表示的是dev分支(当前处于的分支)文件的内容,下面的表示合并以后的文件内容
在这里插入图片描述
  如果在解决冲突的时候,不小心关掉了当前的页面,可以通过右键然后选择Resolve重新进入,(另外此时可以看到当前的merge选项提示的是Abort merge,表示当前无法进行合并,只有当把冲突解决以后才能进行合并)
在这里插入图片描述
  如果想要使用test分支上面的内容,就直接选中当前的代码块,然后右键选择Use this text block,就可以使用test分支上面的内容了
在这里插入图片描述
  在这里可以看到Previous different和Next different两个选项,当Next different出现灰色的时候就表示当前已经没有不同的内容了,然后一定需要点击Mark as resolve表示保存当前修改的内容
  然后就可以进行提交了,先提交到本地当前的分支(commit),然后再提交到远程分支上面(push)

在这里插入图片描述
当别人之前在dev分支上已经提交了内容,我们也是不能直接进行提交的,需要先使用git pull操作将远程仓库中的内容拉取到本地仓库中,保持远程仓库和本地仓库的内容一致才能继续提交
在这里插入图片描述
如果想查看当前文件夹有哪些人修改的信息,就可以在Show log中进行查看
在这里插入图片描述
在这里插入图片描述
diff中可以查看当前有哪些文件进行了更改

在这里插入图片描述
  git fetch 会从远程仓库下载所有的新提交和分支信息,但不会更改你的工作目录或当前分支的状态。这意味着你可以在查看远程的更改后决定是否合并或处理它
  与 git pull 不同,git fetch 不会进行合并操作,因此你可以在下载更新后独立地审查这些更新,然后再决定是否将其合并到你的本地分支中。

六、Git版本管理工具使用

如果想要在文件夹中创建本地的仓库,可以右键点击后选择Git 在这里创建本版库
  如果在文件夹中出现.git的文件夹表示创建本地仓库成功(注意.git是隐藏文件夹,需要在系统中打开隐藏文件夹显示)
  但是我们一般都不会 在自己的文件夹中创建本地的仓库,一般都是在服务器上创建Git的仓库,然后在本地上面进行clone获取,然后提交到本地,最后在推送到远程仓库

在这里插入图片描述

在使用TortoiseGit将代码进行提交的时候,直接使用commit然后选中当前的文件就是已经add了,如果使用的是命令行,就需要先使用add操作然后再使用commit进行提交
在这里插入图片描述

6.1、TortoiseGit分支的创建与合并

在这里插入图片描述
  首先,点击右键选择Tortoise里面的创建分支
在这里插入图片描述
  分支的名称根据自己的情况进行取,然后点击确定即可创建成功
在这里插入图片描述
  查看当前的分支还是master分支,之后需要切换分支到我们新创建的分支上面
在这里插入图片描述
  在切换到的分支上面选择我们之前创建的新分支dev即可切换到dev分支
在这里插入图片描述
  也可以点击右键,选择版本分支图,然后选择想要切换的分支,点击右键选择切换/检出到dev即可完成切换
在这里插入图片描述
  当在dev分支中对代码开发完成以后,想要将它合并到master分支当中
首先,需要切换到master分支中,在点击右键选择合并,然后从分支中合并选择dev分支,即可将dev分支中的内容合并到master分支中

6.2、冲突解决

在这里插入图片描述
  第一种解决冲突的方式可以直接点击关闭,然后找到提示冲突的文件,修改文件中的内容,修改完成以后再进行提交,第二种方式可以在当前页面点击解决,然后会跳转到显示所有的冲突文件
在这里插入图片描述
  双击冲突文件即可查看文件内容并进行修改
在这里插入图片描述
  修改完成以后即可进行提交,不然会提交失败

6.3、文件的忽略

在windows系统中直接创建一个文件将文件的后缀名改成.gitignore的方式是不行的
  可以使用git 的命令行创建一个.gitignore文件使用的命名是:touch …gitignore即可创建
在这里插入图片描述
  假如我们想要忽略.mp3结尾的文件,可以在文件里面输入*.mp3,就表示忽略所有以.mp3结尾的文件

在这里插入图片描述
  假如我们想要忽略文件夹,就直接输入Temp/就行了(所有的Temp文件夹都会被忽略),如果我们想要忽略的只有当前文件夹的文件夹,就需要输入/Temp/即可

在这里插入图片描述

  如果忽略了所有的.mp3文件,但是有一个.mp3文件不想忽略,就可以在不想忽略的.mp3中再创建一个.gitignore文件,在里面输入!.mp3,其中!表示不忽略的意思

6.4、版本回退

  在版本日志界面选择一个节点,使用重置(Reset)命令

Head 当前分支的引用指针(重置就是移动Head这个指针)
Index 就是缓存区(被Add的,也就是说是将要提交的,文件的快照)
工作区 .git所在的目录以及子目录

一共有三种重置的类型
在这里插入图片描述
软重置:表示不会更改当前工作区的内容,也不会改变暂存区的内容(就是add以后的内容)
混合:表示不会改变暂存区中的内容(就是 add以后的内容),会改变当前工作区的内容
硬重置:工作区和暂存区的内容都会被重置

在这里插入图片描述
  想要恢复到哪个版本就在哪个版本上面点击右键,然后选择重置“master”(当前是处于master版本)到此版本

在这里插入图片描述
  选择想要回到的版本的提交ID,然后下面重置类型选择硬重置,即可将所有内容重置到指定的版本,但是这时候是没有后悔药吃的(再次想要回到原来的版本)
  这时候就需要在重置之前,先在当前的版本上面打上一个标签
在这里插入图片描述
  选择在此版本上创建标签
在这里插入图片描述
在这里插入图片描述
  在标签的名称上面填写自己想要的标签,如果想要删除标签,就直接选中当前提交的内容,然后点击右键选择删除即可

在这里插入图片描述
  这时候想要吃后悔药就可以通过标签来进行重置

七、TortoiseGit子模块

  子模块就是一个git仓库包含其他git仓库
  当我们需要把其他开源项目作为本项目的一个库,并可以随时拉取更新的时候或者我们的项目需要分模块独立开发的时候可以使用子模块
  克隆有子模块的仓库,需要选择递归
在这里插入图片描述
在这里插入图片描述
  点击鼠标右键,选择添加子模块,在添加子模块的路径中选择想要子模块添加到哪个路径上面(需要注意的是,路径上面的文件夹需要填写一个不存在的文件夹,在添加的时候会自动创建,不然的话就会创建失败)

创建子模块完成以后,就可以直接进行提交,提交以后在远程仓库里面点击子模块的文件夹,会直接链接到子模块属于的原来的仓库链接中
在这里插入图片描述
  在对含有子模块的仓库进行clone的时候,需要把递归进行勾上才能进行clone

七、使用TortoiseGit生成密钥

(linux如何生成密钥并配置相关的账号和邮箱请参见linux下git代码提交文章)
相关链接: Linux下git的提交

在这里插入图片描述
  首先,选择Git GUI Here
在这里插入图片描述
  然后点击Help,然后选择Show SSH Key
在这里插入图片描述
  在弹出来的窗口选择Generate Key就可以生成密钥
在这里插入图片描述
  刚开始的时候不需要输入密码,直接点击OK即可
在这里插入图片描述
在这里插入图片描述
  这样密钥就生成好了,内容就是密钥,上面的提示表示密钥存储在哪个文件夹里面,如果需要重新生成就可以直接找到rsa和pub这两个文件夹然后删除,再重复以上的操作重新生成密钥。
  此时需要将pub公钥中的内容添加到服务器的配置当中(以gitee为例)
在这里插入图片描述
  找到gitee中安全设置里面的SSH公钥,将刚才生成的密钥复制下来,然后粘贴在公钥的位置
  配置完成之后,就可以使用SSH密钥的方式进行clone (安装完第一次克隆会请求是否允许使用ssh,需要我们输入一个“yes”)

八、git图形化界面下载链接

git安装包下载: http://git-scm.com/download/win
TortoiseGit安装包下载: https://download.tortoisegit.org/tgit/

标签: git

本文转载自: https://blog.csdn.net/m0_70091181/article/details/138015377
版权归原作者 sushang~ 所有, 如有侵权,请联系我们删除。

“Windows下Git的使用(TortoiseGit基本使用)”的评论:

还没有评论