MAC + LINUX + VIM + GIT + Latex + Markdown程序员Git

git仓库 和 sourceTree使用

2017-06-10  本文已影响312人  goyohol

GIT (分布式版本控制系统)

Git是一款免费开源分布式 版本控制系统,用于敏捷高效地处理任何或小或大的项目。


扯一些无关的:
苹果的Mac OS系统衍生于Unix(算的上是系统始祖~),而linux是一种类unix系统。
并且Git是linux之父(Linus Torvalds)当年为了维护linux,而发明的版本控制系统--Git!



常用的代码管理网站:






git操作:

git操作 一览图


创建项目

我使用的代码管理网站 ----- 码市( CODE MART ) :https://mart.coding.net

进入官网,创建好账号后,选择 自己的头像下的“Coding.net”项。


点击“Coding.net” 进入代码管理页面

进入代码管理页面后,即可 创建项目了!


点击 创建项目

如下是创建 项目的填写内容!

创建 包含git仓库的项目
项目创建好之后,会显示 项目动态
创建好之后 可查看项目的动态
点击“代码”选项 ,跳转到 代码管理页面。
点击“代码” 到代码管理页面


⭐️选择访问仓库的方式:HTTPSSSH

选择访问仓库的方式:**HTTPS**、**SSH**
其中关于配置SSH公钥https://coding.net/help/doc/git/ssh-key.html


使用“SourceTree” ,进行项目的代码、仓库 管理。

输入 项目的URL ,从网络获取 项目的git仓库

使用“SourceTree”输入之前复制的项目地址 获取之前的仓库

不选择存储仓库 的目标路径,会默认用户 所使用的路径。

输入 之前复制的项目地址 克隆项目仓库


获取到项目仓库后:多出了“git_repository”仓库。即可对该仓库 进行 查看、管理了

获取到项目仓库后 即可查看、管理该仓库了

在“Finder”中查看项目仓库:

“Finder”中的 项目仓库


在仓库里,引入Xcode工程

远程仓库本地仓库 创建好之后,即可 打开Xcode 在本地仓库里面的路径下 创建工程

在仓库所在路径 创建工程



如下是项目工程的代码:(随便 写了一些内容)

工程中 添加一个富文本的Label


对自己的项目工程的(代码)编写 完毕后,在“SourceTree”里面查看 仓库状态了~~~

**查看** **仓库**的**状态**
已暂存文件 及 未暂存文件

点击“未暂存文件”,合并自己的代码与之前的代码。再填写 自己对项目的编辑 信息(即:对项目的工作内容) ,用于提交一个本地版本。

点击“未暂存文件”后,提交自己对项目的编辑信息
⚠️:选择添加“未暂存文件”时,要剔除 开发中常出现的 .DS_Store文件等。
当然也可以操作 忽略文件(“.gitignore”文件)


提交项目信息、构建版本之后,查看 仓库本地(版本)信息

提交项目信息、构建版本之后 本地仓库信息
点击推送后:
点击“确认” , 确认“推送到远程仓库”
推送到远程仓库成功:
推送到远程仓库 成功!!



在项目管理网站,查看项目版本 及 其最新信息

最新 提交的项目版本及其信息
点击“提交历史”,查看项目仓库的 详细更改历史
查看仓库的更改历史


点击“ViewController.m”,进入“ViewController”里面 查看之前的修改 或 进行修改

查看之前的修改 点击“编辑”后,可对其进行编辑


编辑(移除多余行) 并 保存:

编辑(移除多余行)
保存 本次编辑
提交成功后的项目最新信息:
最新修改的信息



凡是对项目的远程仓库 进行过修改,下次使用项目工程时:要先抓取项目(防止多人开发时,之前搭档对代码的修改及合并。 造成版本不是最新的情况),保证当前项目的版本最新的。
也就是咱们在多人开发时,第二天最好重新拉取下网上的最新版本!除非你是最后一个走的~~😂😂😂😂😂

抓取(最新)远端项目仓库:

抓取 项目修改
抓取最新项目版本信息后,查看项目的修改信息:
项目管理网站上的修改:删除了 2行
项目管理网站上的修改:删除了 1行

点击“拉取”后,再点击“确认” 获取拥有最新信息的项目 :
点击“确认” ,获取拥有**最新**信息的项目
拉取 成功



再在“Finder”中,查看并打开 工程

在“Finder”中打开 工程

打开工程后:

打开工程后,查看 **项目管理网站**对项目的**修改**:</br>少了3行**多余行**



多人项目管理

将之前项目 再获取一份在本地(选择另一路径 且 为空文件夹)

从URL 克隆项目
点击选择**另一**个**路径** 为自己选择的路径 ,添加 仓库的项目名字: “git_repository”
Tips:自己选择的路径 必须空文件夹新文件夹,否则出现如下 提示:
无法克隆到非空文件夹 错误提示


最新拉取的 项目:

最新拉取的 仓库项目



即可开始 两个人同时开发一个工程!假设上方为开发者A下方为开发者B
分别打开所在位置(右键 --> 在Finder中显示),打开工程文件!

工程文件的位置


开发者A、开发者B分别对工程做修改:

所做的修改


开发者A的版本信息:

开发者A 提交信息 开发者A推送成功后



对于开发者B,则需要重新拉取最新版本的工程!进行合并继续开发!当然也可以在最终自己的代码任务完全完成再合并!

先**抓取**开发者A修改后的版本 再**拉取**下来 把自己的版本**提交**到本地 合并代码块
😂😂😂😂😂😂😂
现在合并的话,会提示冲突!因为版本有不同的地方! 冲突的提示


合并与开发者A的冲突:
冲突展示图:sourcetree有冲突展示功能


合并冲突,提交 “冲突解决后”的版本:

提交到本地的版本


再推送到服务器:

推送完成后



由于最后一次是开发者B提交的版本!所以下次开发时:对于开发者A,必须抓取拉取最新版本!

开发者A 抓取最新版本 A抓取之后,再拉取 拉取到本地之后
即得到了最新版本~~



但是开发者B合并冲突时,不太细心(其实也就是我啦~~😂)

出现了小错误
开发者A帮助,修改错误代码:
修改之后的代码
修改之后,开发者A提交本地版本、推送到服务器!
提交修改信息 推送到服务器


所以开发者B,又需要重新抓取拉取一次 最新版本 (所谓:自作孽,不可活~😂😂😂)

抓取
拉取


拉取之后,版本与开发者A相同:

两者版本相同
这样开发者A与开发者B的项目版本一致了!




先、后工程版本的效果图


⭐️Tip:如果各版本同一处代码有不同修改,必然会有冲突








终端命令行的使用:

直接操作git仓库,更便捷简单!虽然没sourcetree那么直观、形象,但是对于两人的开发来说,也是做够了!



罗列出的Git命令,如下图:

Git常用命令







Git的操作:

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”分支就没有了,两个分支就合在一起了。














goyohol's essay

上一篇下一篇

猜你喜欢

热点阅读