1、安装git环境:按顺序。安装Git GUI,安装TortoiseGit,安装TortoiseGit-LanguagePack中文语言包。桌面右键选择TortoiseGit,选择设置,选择换语言。
Ps:用户文件夹,是自己新建的
2、在git官网建立一个远程仓库;官网有
3、建立一个文件夹作为一个本地仓库
4、建立一个本地仓库:复制远程仓库的http地址,在本地仓库右键选择git在这里建立版本库,就建立了一个本地仓库。
4.5克隆一个已经有东西的远程仓库作为本地仓库、复制远程仓库地址—>在想要建立本地仓库的文件夹下,右键git克隆。
5、提交文件到本地仓库:在本地仓库里面添加文件,右键选择TortoiseGit,选择添加。再次选择文件右键选择git提交master。
6、在git提交本地master分支,可以点击文件,查看修改内容。左边为原先版本,右边为修改右边也称为工作区文本。
7、提交多个文件,直接在本地仓库下空白处右键选择git提交master。选择多个修改过的文件。提交都是提交到本地仓库master分支中,只有git同步才能同步到远程仓库中。
8、查看版本历史,选择本地仓库文件夹右键选择TortoiseGit,选择查看显示日志。窗口上方是每一个提交版本,版本是提交在本地仓库master分支的。下方可以选择点击文件查看此版本与上版本的修改了什么。
9、还原上一个版本:选择文件右键选择TortoiseGit,选择还原。
10、还可以进行块还原,一行一个块。选择需要还原的文件右键选择TortoiseGit,选择比较差异。选择右边的文本,需要还原那一行进行右键,选择使用此文块,工作区的文本右边的就被替换了。
11、文件删除:
如果没有上传过的,可以直接删除。
已经上传过的,本地直接删除,再提交就会显示文件缺失,此时还在工作区可以还原。
已经上传过的,选择文件右键选择TortoiseGit选删除,再提交显示已删除。本地仓库master分支就会删除,版本日志记录还在。
12、恢复删除的文件:在选择仓库文件右键TortoiseGit对比差异,找到之前的被删除的文件之前的版本并选择,在下方窗口选择需要恢复的文件,右键恢复到父级版本就可以恢复文件。
13、忽略文件:选择文件右键TortoiseGit选择选择添加到忽略列表,选择指定文件名。随后产生一个ignore忽略文件文件,记录的是当前位置忽略的文件,忽略文件也要添加到本地仓库master。
其中的有:忽略类型,递归忽略是所有的文件夹都涉及到。
14、下载时账号密码错误不能下载,也不再提示:电脑控制面板–>用户账号–>凭据管理器–>windows凭据–>普通凭据,找到相应的网址进行删除。再次下载。
15、同步、推送:因为在没有推送到远程仓库之前,以上的全部操作全部版本都是在本地仓库工作区内。点击文件夹或者文件空白处右键git 同步,–>远端URL 如果没有东西点击后面的管理–>栏目中git–>远端URL输入仓库的http地址就确定。之后选择推送,就可以看到远程仓库上传了代码文件。
把本地仓库的master分支推送到远程仓库的master分支
16、**拉取:**复制克隆下载地址,在用户文件夹下面右键git 克隆。
模拟建立新用户,重新克隆一个本地仓库。
两个用户怎么同步代码:
1号本地仓库,先提交,再同步。
2号先获取再拉取是正常操作,也可以直接拉取
拉取是:在2号本地仓库中点空白右键git 同步,点击拉取。拉取一定要查看拉取差异,看改了哪个文件哪个地方代码。一般不冲突会代码自动合并。
**PS:**如果远端URL 如果没有东西点击后面的管理–>栏目中git–>远端URL输入仓库的http地址就确定。
Ps:拉取和获取区别:
拉取git pull : 从远程拉取最新版本到本地 ,一般是仓库版本、索引,和文件,无冲突情况下会自动合并 merge
获取git fetch : 从远程获取最新版本到本地 ,一般是仓库版本、索引,不是文件。 不会自动合并 merge ,具体怎么merge取决于你自己
17、已有的本地仓库推送到新的远程仓库:在本地仓库右键空白右键选择TortoiseGit,选择设置,–>栏目中git–>(可以考虑远端添加多个)远端URL输入新远程仓库的http,并且远端–>重命名新名字。然后在本地仓库右键空白进行推送。
18、**添加ssh公钥:**为了解决每次下载都输入密码,复制远程仓库的ssh–》打开在本地仓库空白右键选择git bush–》输入ssh-keygen -t rsa -c “ 邮箱” ------------------w7没有成功,不在实验
19、在github导入到gitee远程仓库。在github上面找到仓库克隆地址–>再去git右上方加号新建哪里选从github导入到gitee–>在git 仓库URL,输入刚才的克隆地址–>完善其他,导入。
20 代码冲突:不同用户修改相同块代码,就会有可能产生冲突。如AB用户同时去修改了相同块并且相同的字位置,并且都提交到本地master。如果修改相同块,是在空白位置增加了,会自动合并
20.1、A先同步提交到远程,
B要先拉取,然后可能就会产生冲突。不先拉取,就推送会提示推送失败,原因是远程仓库有B没有的东西,拒绝推送。B在拉取的时候,AB修改的不同块会自动合并进来。
20.2、(实验了好几次才看到冲突:需要AB每次都修改相同的位置相同函数内容提交本地,A先同步)如果拉取后出现冲突,会提示冲突文件,双击冲突文件,左边为拉取文本,右边为本地文本,下面为合并文本。左右两个文本都会出现上一个版本的内容(黄)和此时的内容(红)。所以可以在左右中右键选择当前版本的内容,也可以选择当前内容。然后选择保存,标记解决。
20.3、在合并文本中,可以在标记了1行的最前面打个回车,还可以再从左右文本中添加进来,就可以左右都可以保留。
使用习惯;
勤提交:不要做完了所有功能才提交,完成某一个小阶段,小步骤都可以提交版本。
勤推送:对于已经提交的代码,尽快推送。
勤拉取:至少每天上班开工前拉取一次,创建分支前拉取一次。
分支概念:在已经有的版本上面,创建分支使各个用户进行独立开发,开发完再合并。
21、创建分支:选择本地仓库右键选择TortoiseGit再选择创建分支–>基于.head:基于当前版本的 基于.提交:属于基于以前提交版本的。再选择名称栏目编辑分支名称。–>补充可选:选项栏目可选切换到新分支。
查看版本分支图:选择本地仓库右键选择TortoiseGit再选择版本分支图。红色的是当前处在的分支名称,绿色为其他分支名称。
PS:每个分支名,本质上是指针,指向每个分支的版本的指针。
22、在两个基于不同版本的分支下的同一个本地仓库,
切换分支:选择本地仓库右键选择TortoiseGit再选择/检出–>切换到栏目中的分支:进行选择,选择了不同的分支本地仓库内容就不一样了,内容都是基于版本号的。
在最新的master下创建的分支,分支改动后,提交到分支,分支就会在分支图上比master名称高一步,表示该分支和master不是一个版本的指针了。
23、版本号:选择本地仓库右键选择TortoiseGit再选择日志信息,在版本树的名字哪里右键选择SHA-1,本地仓库master分支下,都是指向最新的版本号。在版本分支图下鼠标碰到每个分支的名称,都可以看到版本号(前面的数字)。
24、分支合并:合并到那个分支就在那个分支上操作。
基于master分支的B2分支,就要在切换到分支为master下,选择本地仓库右键选择TortoiseGit再选择合并。(这是最简单情况的分支合并)
基于master分支之前版本的B3分支,就要在切换到分支为master下,
25、分支删除:在分支图内,右键分支名称,删除。
26、创建标签:本地仓库空白处右键选择TortoiseGit再选择创建标签:可以选择基于版本,也可以选择head当前master。名称一般编辑V1.1之类的版本号。在版本分支图就可以看到了。切换分支版本的时候,也可以按照标签来切换。
27、远程分支:同步的时候,选择本地分支为非master分支,在远程分支:输入与本地分支一样的名称。推送远程仓库就多了一个分支。
在本地仓库没有分支B4下,而远端有。可以右键选择TortoiseGit再选择获取–>栏目内选择远端分支,分支图内就有一个远端分支。并且要切换分支B4,此时默认会创建一个B4分支。
参加开源项目的流程:
在gitee找到想参与的开源项目
在gitee官网进入开源软件栏,找到别人的项目仓库,找到fork
Fork项目到自己的账号
点击fork保存到自己账号,就多了一个仓库
克隆仓库到本地
克隆保存在自己账号的远程仓库到本地
创建分支开发
创建的分支名称,与点击issues到具体问题所在网址的网址尾号编码一样。分支名:Issues+编码。并切换到该分支
推送本地分支到远程仓库
修改过后,推送到自己的分支到远程长裤
创建pull request
在远程仓库上有一个+pull request,点击它,然后选择源分支:自己修改的分支,再选择目标分支:参与的开源项目人仓库的目标分支。右边可以选择关联开源项目人的issures。
开源项目负责人审核代码,决定时候采纳
28、搭建git私服:需要另外搜索资料
29、**修改上次提交:**提交两个文件,遗漏了选了一个文件提交。再次提交–>窗口里面有修改上次提交,就会出现遗漏的文件,与上次提交的文件一起提交变成一个版本。
30、**重置版本:**在日志信息里面,选择需要重置到的版本,右键选择重置到此版本。弹出窗口,其中:
软重置:表示保留分支指针分支名还在最新版本上,并且保留最新内容。重置后的内容还保留之前没重置的。选择感叹号文件选择TortoiseGit选择比较差异。左边是重置到的版本,右边是为最新的未重置之前的版本。
混合重置:分支指针退回带重置版本,但是最新的内容保留;
硬重置:完全重置回版本,什么都不保留。之前版本都没有
31版本回退:还是在日志信息,在需要回退的版本右键选择回退,我这里会有提示错误。但是提交提示冲突,点击文件左边为还原的版本,左边是未还原版本。把左边需要还原的右键使用。
32、暂存修改:修改之后没有提交,需要切换分支。直接切换就会丢失,所以需要暂存修改。右键选择TortoiseGit选择贮藏更改,就可以切换分支了。之后切换,右键TortoiseGit选择弹出贮藏。
更换对比工具:git内有自带的,但是更换BCompare对比工具更好用。
下载好BCompare破解版之后。本地仓库空白右键,TortoiseGit,选择设置。–>选择差异查看器,其中外部全选择破解好的BCompare.exe。–>选择合并工具,其中外部全选择破解好的BCompare.exe。
除了以上,还可以单独使用BCompare.exe进行两个独立工程的对比:准备好两个相同的工程分为工程1和工程2,其中一个工程2的某个文件改动过。
打开BCompare.exe,–>会话–>新建会话–>文件夹比较然后弹出了会话框。左边选择工程1的文件夹,右边选择工程2文件夹–>选择栏目框的视图–>显示差异。然后在找到差异文件双击打开–>左上角的会话–>合并文本。最下方出现合并文本框。
合并文本一个原则,自己改过的工程2合并到工程1,并且最终是在工程1是目标工程。
所以选择右边工程1的文本选择全部文本–>右键采用左边–>然后右边工程2的文本选择改动过的,右键选择采用右边,或者先采用左边后采用右边,或者先采用右边后采用左边。具体选择是在不影响功能不冲突下进行选择,如果工程1被其他工程师改过,要询问过后再选择。因为是合并上去的不能影响别人写的。最终保存合并文本,保存合并在工程1,。
在git中采用了BCompare对比工具,当拉取产生冲突时,点击查看冲突,与git自带的查看器有一些区别。
自带的:如果拉取后出现冲突,会提示冲突文件,双击冲突文件,左边为拉取文本,右边为本地文本,下面为合并文本。
采用了BCompare之后:左边带有base的文本是之前的基础版本,
使用技巧:
1、每次提交,要点击根目录,才能提交完全部