GIT (分布式版本控制系统)
Git是一款免费、开源的分布式 版本控制系统,用于敏捷、高效地处理任何或小或大的项目。
扯一些无关的:
苹果的Mac OS系统衍生于Unix(算的上是系统始祖~),而linux是一种类unix系统。
并且Git是linux之父(Linus Torvalds)当年为了维护linux,而发明的版本控制系统--Git!
- 国外的
- 1.GitHub
GitHub地址:https://github.com/
- 1.GitHub
- 2.Gitlab:支持无限的公有项目和私有项目。
Gitlab地址:https://about.gitlab.com/
- 2.Gitlab:支持无限的公有项目和私有项目。
- 3.Bitbucket:免费支持5个开发成员的团队创建无限私有代码托管库。
bitbucket地址:https://bitbucket.org/
- 3.Bitbucket:免费支持5个开发成员的团队创建无限私有代码托管库。
- 国内的:
- 1.开源中国代码托管:一个账号最多可以创建1000个项目,包含公有项目和私有项目。
开源中国代码托管地址:http://git.oschina.net/
- 1.开源中国代码托管:一个账号最多可以创建1000个项目,包含公有项目和私有项目。
- 2.coding.net(码市):一个账号最多可以创建1000个项目,也支持任务的创建。
coding.net地址:https://coding.net/home.html
- 2.coding.net(码市):一个账号最多可以创建1000个项目,也支持任务的创建。
- 3.CSDN代码托管
CSDN代码托管地址:https://code.csdn.net/
- 3.CSDN代码托管
git操作:
创建项目
我使用的代码管理网站 ----- 码市( CODE MART ) :https://mart.coding.net
进入官网,创建好账号后,选择 自己的头像下的“Coding.net”项。
进入代码管理页面后,即可 创建项目了!
如下是创建 项目的填写内容!
项目创建好之后,会显示 项目的动态
点击“代码”选项 ,跳转到 代码管理页面。
其中关于配置SSH公钥:https://coding.net/help/doc/git/ssh-key.html
使用“SourceTree” ,进行项目的代码、仓库 管理。
输入 项目的URL ,从网络获取 项目的git仓库。
不选择存储仓库 的目标路径,会默认用户 所使用的路径。
获取到项目仓库后:多出了“git_repository”仓库。即可对该仓库 进行 查看、管理了
- 点击右键,选择 在“Finder”中查看项目仓库
在“Finder”中查看项目仓库:
- 点击右键,选择“打开”
即可对仓库 进行管理、操作了
在仓库里,引入Xcode工程
在远程仓库和本地仓库 创建好之后,即可 打开Xcode 在本地仓库里面的路径下 创建工程了
对自己的项目工程的(代码)编写 完毕后,在“SourceTree”里面查看 仓库的状态了~~~
点击“未暂存文件”,合并自己的代码与之前的代码。再填写 自己对项目的编辑 信息(即:对项目的工作内容) ,用于提交一个本地版本。
⚠️:选择添加“未暂存文件”时,要剔除 开发中常出现的 “.DS_Store”文件等。
当然也可以操作 忽略文件(“.gitignore”文件)。
点击推送后:
推送到远程仓库成功:
点击“提交历史”,查看项目仓库的 详细更改历史:
点击“ViewController.m”,进入“ViewController”里面 查看之前的修改 或 进行修改:
提交成功后的项目最新信息:
凡是对项目的远程仓库 进行过修改,下次使用项目工程时:要先抓取项目(防止多人开发时,之前搭档对代码的修改及合并。 造成版本不是最新的情况),保证当前项目的版本为最新的。
也就是咱们在多人开发时,第二天最好重新拉取下网上的最新版本!除非你是最后一个走的~~😂😂😂😂😂
抓取(最新)远端项目仓库:
抓取最新项目版本信息后,查看项目的修改信息:
点击“拉取”后,再点击“确认” 获取拥有最新信息的项目 :
打开工程后:
多人项目管理
将之前项目 再获取一份在本地(选择另一个路径 且 为空文件夹)
Tips:自己选择的路径 必须 为空文件夹 或 新文件夹,否则出现如下 提示:
即可开始 两个人同时开发一个工程!假设上方为开发者A,下方为开发者B。
分别打开所在位置(右键 --> 在Finder中显示),打开工程文件!
对于开发者B,则需要重新拉取最新版本的工程!进行合并与继续开发!当然也可以在最终自己的代码任务完全完成再合并!
😂😂😂😂😂😂😂
现在合并的话,会提示冲突!因为两个版本有不同的地方!
合并与开发者A的冲突:
由于最后一次是开发者B提交的版本!所以下次开发时:对于开发者A,必须抓取、拉取最新版本!
即得到了最新版本~~
但是开发者B合并冲突时,不太细心(其实也就是我啦~~😂)
开发者A帮助,修改错误代码:
修改之后,开发者A再提交本地版本、推送到服务器!
所以开发者B,又需要重新抓取、拉取一次 最新版本 (所谓:自作孽,不可活~😂😂😂)
这样开发者A与开发者B的项目版本就一致了!
⭐️Tip:如果各版本同一处代码有不同的修改,必然会有冲突。
终端命令行的使用:
直接操作git仓库,更便捷、简单!虽然没sourcetree那么直观、形象,但是对于两人的开发来说,也是做够了!
Git的操作:
多人开发 及 命令行操作:
使用情况
冲突:
<<<<<<< HEAD
=======
>>>>>>> a3a4813c36a88970f43873546331581a490ea114
终端的一般简易操作:
git clone <url> //克隆网络库
git init //创建本地仓库
git status //(代码库)状态查看
git add --all //表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文
件都添加到暂存区。
或者:
git add .
git commit -m"7.0" //提交版本信息(⭐️本地⭐️)
git pull //拉取网络最新版本
// 解决冲突.......
git push //推送合并后的版本到网上
或者先解决冲突,再提交本地版本。
参:Git版本控制:Git冲突解决 相关错误总结
git多人协作代码合并流程
//查询操作指令:
git log //打印历史版本
git reflog //分支引用记录
// git reset --hard 81bef82 //重置旧版本
很久没动简书了~ 这文章跨度几个月了,也是醉了。。。😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂
git pull --rebase
在D分支上执行 git merge B 后,D就被合到A上了。
在D分支上执行 git rebase B 后,效果与merge是一样的,但是“D-E”分支就没有了,两个分支就合在一起了。