git仓库 和 sourceTree使用

作者: goyohol | 来源:发表于2017-06-10 06:56 被阅读312次

    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”中查看项目仓库

    在“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

    相关文章

      网友评论

        本文标题:git仓库 和 sourceTree使用

        本文链接:https://www.haomeiwen.com/subject/jgdcbttx.html