Git学习步骤
102 Git入门
1.下载所适的Git版本,下载地址。
2.初始设置,用户名称和邮箱。
3.创建版本库。
4.给版本库添加文件并提交说明。
103 使用Git管理版本
仓库状态
1.修改文件。
2.查看仓库状态。
3.查看文件做了什么修改。
4.提交修改。(命令行同添加文件)
5.查看仓库状态。
6.提交修改说明。
7.查看仓库状态。
版本回退
1.查看日志或者查看简洁日志。
2.回退版本。
3.查看命令历史以寻找曾经有过的版本。
104 管理Git中的文件
理解工作区和暂存区
管理修改
1.对文件进行修改。
2.把文件先添加到暂存区。
3.把文件提交到版本库。
若修改后直接提交版本库是无法记录修改的。
撤销修改
1.查看版本库状态。
2.出现提示撤销修改的语句。
3.撤销修改。
4.查看版本库状态确认。
删除文件
1.输入删除文件命令。
2.若手动误删可以通过版本库恢复。
201 远程仓库
添加远程库
1.注册GitHub。
2.将本地仓库关联到远程仓库。
3.本地每修改完,可以将修改推送至GitHub。
克隆版本库
1.新建一个远程仓库。
2.在本地克隆上。
3.可以在本地查找远程仓库的目录信息等。
202 Git中的分支管理
创建分支
1.创建新分支,并查看所有分支。
2.在新分支进行文件修改并添加到版本库。
3.切换回原分支(main),查看修改的文件(没有变化)。
4.合并新分支,查看修改的文件(已修改)。
5.删除新分支,并查看所有分支确认是否删除。
解决冲突
在发生冲突后,修改一个分支上的文件,再提交来解决冲突。
注意:一定要解决冲突,不能放任不管。
301 协作开发中的分支管理
分支管理策略
1.创建新分支,对文件做修改后提交。
2.切换回原分支。
3.准备合并分支的时候要注意禁用Fast Forward,即no-ff参数。
4.合并后,可以用查看分支历史。
Bug分支
1.确定bug分支并在此分支上创建临时Bug分支。
2.在文件里修改bug并添加和说明。
3.转换回bug分支,与临时分支合并后删除临时分支。
注意:若发现bug时,当前正处理其他工作,可以先把当前工作现场藏起来,待bug处理完成后再恢复。
Feature分支
1.在分支上添加feature分支。
2.将新功能文件添加并说明。
3.转回原分支,合并后删除feature分支。
注意:未合并时删除分支会删除失败,若要强行删除分支,需要更改所使用的参数,即将“-d”改为“-D”。
302 多人协作
抓取分支
1.先创建远程origin的dev分支到本地。
2.将本地分支时不时push到远程。
3.指定本地dev分支与远程origin/dev分支的链接。
注意:可能会出现两方同时push到远程导致的冲突,解决办法是先把最新的提交pull下来,在本地解决冲突之后再上传。
303 Rebase
把分叉的提交历史“整理”成一条直线。
304 标签管理
创建标签
1.切换到需要打标签的分支上。
2.新建标签,可以给标签命名并添加说明。
注意:标签默认打在最新的提交上,可以通过commit id,将标签搭载历史提交上。
操作标签
1.删除标签。
2.推送标签到远程。
3.一次性推送全部尚未推送到远程的本地标签。
注意:若标签已经推送到远程后需要删除,则需要在本地删除,再远程删除。
Git Flow:分支操作
1.建立远程仓库,本地克隆版本库。
2.初始化git flow。
3.进行feature功能,文件测试,Bug修复等开发。(重点强调分支操作)
4.开发完成后推送到远程。
401 Gitignore文件
Git的ignore文件
1.在Git工作取得根目录下创建一个特殊的.gitignore文件。
2..gitignore也要提交到Git。
3.若文件出现问题,可以通过命令检查哪个规则写错了。
402 Git LFS(大文件存储)
LFS的使用
1.检验是否安装了LFS。
2.输入大文件的类型。
3.检查Git根目录下是否有.gitattributes。
403 Git客户端和托管平台
404 Unity中的Git最佳实践
1.在托管平台上创建Git项目。
2.在本地Clone创建的项目。
3.创建Unity工程到该版本库目录中。
4.设置Unity工程的一些配置。
5.设置gitignore文件和LFS的.gitarrtibutes文件。
405 Unity工程+码云Git
1.下载码云并且登录。
2.新建Unity项目进行基础设置。
3.设置.gitignore文件。
4.使用Tortoise进行项目的推送到远程库。
Unity的Collaborate服务
使用Unity内部的自带云服务,在工程做了修改后便可以通过Collab进行提交修改,类似于Git中的commit,其余Git中的基本操作也可以在Collab中实现。
501 Unity PlasticSCM
1.在Unity Hub中创建项目勾选使用PlasticSCM。
2.在Unity中的PlasticSCM窗口进行确认上传以及合并操作。
遇到的问题
103
仓库状态:“显示的格式是Unix通用的diff格式” 对于没接触过Unix的初学者来说可能会有歧义。
104
撤销修改:查看仓库状态时,所提示的撤销修改语句由git checkout -- <file>...改为git restore <file>...。经试验,两种语句都可以。
在修改添加到缓存区后,所提示的撤销修改语句由git reset HEAD <file>...改为git restore --staged <file>...。经试验,两种语句都可以。
删除文件:手动删除目录下的文件时,可以通过版本库来恢复。
201
远程仓库:在GitHub上,关联本地仓库时语句发生了改变。(网站更新)
远程仓库:本地仓库与GitHub远程仓库关联后,若本地做了提交,就可以通过命令“git push origin main”,把本地master分支的最新修改推送至GitHub。
克隆版本库:添加README文件时,截图变化。(网站更新)
创建分支:分支master->main。
Git命令备忘单
命令备忘单有更新。
404
Unity中的Git最佳实践第5条:应将.gitarrtibutes改为.gitattributes。
个人问题
1.版本回退:查看修改日志后会出现教程中没出现的“master”。
答:可能是Git版本更新的问题。
2.有关版本回退有个问题,假设按照时间顺序有3个版本分别为1.2.3,目前 处于3版本,先回退到2版本,再回退到1版本,在来到未来的3版本,此时再回退是回到1版本还是2版本?
答:按照原本的日志顺序来,也就是123,此时3回退还是会回到2。
3.把本地仓库与GitHub仓库关联时,出现了错误
fatal: unable to access 'https://github.com/Jiaming-bjut/learngit.git/': Failed to connect to github.com port 443: Timed out
答:网络问题。
4.在克隆版本库时,出现了错误
fatal: unable to access 'https://github.com/Jiaming-bjut/gitskills.git/': OpenSSL SSL_read: Connection was reset, errno 10054
答:GitHub网站上不去,调整好网络即可。
5.克隆版本库完成后,在本地查找时,输入完目录后,输入1s找不到文件。
答:随后输入命令是ls(list),不是1s。