什么是git?
  • git是一款开源的分布式版本控制工具
  • 在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的
git的起源
  • 作者是Linux之父:Linus Benedict Torvalds
  • 当初开发git仅仅是为了辅助Linux内核的开发(管理源代码)
git的现状
  • 在国外已经非常普及,国内并未普及(在慢慢普及)
  • 越来越多的开源项目已经转移到git
 

 
命令行使用git
 
初始化文件夹 作为服务器 会生成一个隐藏的git文件夹
 
当如果有新文件是  输入git status查看状态 会显示此文件未纳入管理
 
将文件纳入管理
 
将文件commit提交( 或者git commit -a -m "修改")
 
 
如果文件被修改过再查看状态会显示已经被修改过
 
注册邮箱账号
 
查看历史提交信息
 
// 初始化服务器文件夹
git init —bare
 
// 克隆远程服务器的文件夹
git clone 地址
 
// 克隆远程服务器的文件夹
git clone 地址
 
// 提交文件到服务器
Git push
 
// 从服务器拉数据
git pull
 

 

SourceTree的使用

 
 
 
 一, SourceTree配置
 
1 >在sourceTree中点击偏好设置,把默认用户信息填写进去

2 >界面简介

二,修改代码

1 > 新建一个View并添加代码

2 > SourceTree中的变化

3 >拉取并提交项目

4 >提交到本地仓储后的变化

5 > 推送本地代码至远程服务器

6 > 提交之后sourceTree主界面的变化

三,加入团队开发

•操作步骤:

•第一种(强力推荐)

•先拉取服务器的版本,不要打钩(不打立即合并的勾)

•再向本地提交,这时可能会出现冲突等问题

•本地编译运行一下,没问题之后,最后推送到服务器上去


•第二种:(不推荐)

•先向本地提交

•再拉取服务器的并合并,这时可能会出现冲突等问题

•本地编译运行一下,没问题之后,最后推送到服务器上去


•第一种的好处是在本地合并好了之后只有一个版本提交到服务器上去的,

•第二种是有两个版本到服务器上去的,一个是程序员自己的版本,还有一个是服务器自动合并的版本

四, 常见问题及解决方法

1 , 未拉取就直接向远程服务器推送

造成此类错误的解决方法为先拉取服务器上的代码, 然后再提交.

2 , 本地未提交的情况下直接拉取服务器代码

碰到此类问题先提交本地, 然后再拉取服务器代码

3 , 在同一方法内(-(void)click 方法), 两个开发人员同时修改, 此时会造成代码冲突

此时,如果你拉取并服务器代码时, 会有下面的提示出现

3.1 碰到代码冲突

3.2 代码冲突的具体显示内容

3.3 解决冲突按钮

3.4, 外部合并工具界面

3.5 解决完代码冲突后的界面

4, 创建文件或操作同一个stroyBoard时会造成代码冲突(创建文件夹时必须是真实文件夹)

五, 如果已经将一个错误的版本推送至服务器, 应当创建一个分支进行合并解决

正常情况下如果服务器上的代码也错误了, 就需要找之前的一个正确的版本进行提交回滚操作, 但在sourceTree上提交回滚之后只是有一个HEAD标签, 并没有真正改正过来, 所以此时创建一个分支, 将代码先提交到分支上, 然后修改正确后再合并至主分支上.

1, 首先选择一个正确的节点, 提交回滚

2, 创建分支

3, 将分支正确的代码提交至远程服务器

4, 先双击master主分支上 ,然后点击dev_maoge分支进行合并

5, 合并之后提交即可, 如果有冲突就以我的版本为主

 
最后将合并之后推向服务器即可, 这样就实现了如何修改服务器上的错误代码了.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GIT 代码管理工具 SourceTree的更多相关文章

  1. git代码管理工具-SourceTree 使用介绍

    一.SourceTree 简单说明 SourceTree 是git 代码管理的可视化工具,可省去操作命令行的一个图形化工具,下载地址:https://www.sourcetreeapp.com/ 二. ...

  2. Git代码管理工具

    Git代码管理工具 Git 是分布式的源代码管理工具,这点区别于svn -让源代码可以被追溯,主要是记录了每次的更新了什么,如果新版本不想用,那么则可以退回之前的版本 -Git 是Linux之父当年为 ...

  3. [Git]代码管理工具简单使用

    1 Git简介 Git是分布式的版本控制系统,是Linux内核开发者林纳斯·托瓦兹(Linus Torvalds)为更好地管理Linux内核开发而设计.与CVS.Subversion一类的集中式版本控 ...

  4. GIT - 代码管理工具之命令集

    GIT 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问.它会把你的每次提交的文件的全部内容都会记录下来. GIT特点 速度 简单的设计 对非线性开发 ...

  5. 代码管理工具 --- git的学习笔记二《git的工作原理》

    通过几个问题来学习代码管理工具之git 一.git是什么?为什么要用它?使用它的好处?它与svn的区别,在Mac上,比较好用的git图形界面客户端有 git 是分布式的代码管理工具,使用它是因为,它便 ...

  6. 代码管理工具 Git

    之前一直使用微软的代码管理工具TFS(Team Foundation Server)..NET CORE 2.0的发布后,考虑到.NET CORE项目可以跨平台,准备把项目迁移到.NET CORE 环 ...

  7. 代码管理工具之git的学习

    1.代码管理工具git的学习  http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 2.github的使用帮助   https:// ...

  8. 通过代码管理工具 git 完成一次完整的代码管理过程

    1.从公共远程fork一份自己的本地远程之后,从本地远程 clone 到本地 2.将本地代码跟公共远程代码做关联配置 git remote add upstream https://github.co ...

  9. GIT: 分布式开发 代码管理工具使用命令大全

    代码管理工具: GIT     什么是GIT? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...

随机推荐

  1. 数据分析R语言1

    数据分析R语言 无意中发现网上的一个数据分析R应用教程,看了几集感觉还不错,本文做一个学习笔记(知识点来源:视频内容+R实战+自己的理解),视频详细的信息请参考http://www.itao521.c ...

  2. GTK+编程概述

    目标 什么是GTK? 怎样做一个GTK应用程序 事件(Events).信号(Signals).回调函数(Callbacks) 组件(widgets) 引言 GIMP工具包(GTK+)最初被设计为一个光 ...

  3. vs2013使用初体验

    刚安装好vs2013 , 初步体验了一把, 下面是我目前感受到的改变(对比vs2012) 1. 任务栏图标变了 (左边vs2013, 右边vs2012)    2. 开始界面 (vs2012有ligh ...

  4. EasyUI Editable Tree

    效果如图: Create Tree <ul id="tt"></ul> $('#tt').etree({ url: 'tree_data.json', cr ...

  5. (Java 多线程系列)Java 线程池(Executor)

    线程池简介 线程池是指管理同一组同构工作线程的资源池,线程池是与工作队列(Work Queue)密切相关的,其中在工作队列中保存了所有等待执行的任务.工作线程(Worker Thread)的任务很简单 ...

  6. 进程间通讯之mmap文件共享

    进程间通讯之mmap文件共享 引文: 个人名言:“同一条河里淹死两次的人,是傻子,淹死三次及三次以上的人是超人”.经历过上次悲催的面试,决定沉下心来,好好的补充一下基础知识点.本文是这一系列第一篇:进 ...

  7. js 上传下载(留着备用)

      js 上传下载(留着备用) 下载文件 1. <a href="#" onClick="download()">下载文件</a>  & ...

  8. Scut游戏服务器免费开源框架-3

    Scut游戏服务器免费开源框架--快速开发(3) Scut快速开发(3) 1        开发环境 需要安装的软件 a)        消息队列 b)        数据库,Sql2005以上版本 ...

  9. 不想作死系列--win7远程linux桌面之vncserver

    1.在linux服务器上安装vncserver yum install vncserver 或者下载相应linux版本的tigervnc-serverrpm rpm -ivh tigervnc-ser ...

  10. UML九种图-包图、类图

    UML九种图-包图.类图 一.包 (一)相关概念: 1.包: 一个包=一层=一个命名空间=一个文件夹 2.包的命名: 简单名:王老二 路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班 ...