什么是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. MVC 5.1的遭遇:“已添加了具有相同键的项”

    ASP.NET MVC 3升级至MVC 5.1的遭遇:“已添加了具有相同键的项”   最近将一个项目从ASP.NET MVC 3升级至刚刚发布的ASP.NET MVC 5.1,升级后发现一个ajax请 ...

  2. 今天用C#做的一个小的注册练习

    下边是实现的代码: using System;using System.Collections.Generic;using System.ComponentModel;using System.Dat ...

  3. c内存结构

    每个进程都运行在自己私有的内存空间中(即虚拟地址空间).在32位系统中,4GB的进程地址东健被分为用户空间和内核空间两个部分.用户空间占据着 0~3GB(用16进制表示为0xC0000000),而内核 ...

  4. 关于grub的那些事(三)

    接着第二篇的研究,继续分析/etc/grub.d/10_linux. #! /bin/sh set -e prefix="/usr" exec_prefix="${pre ...

  5. T-SQL 随机返回特定行数据和分页查询

    T-SQL 随机返回特定行数据和分页查询 T-SQL 语言相较于标准SQL添加了很多特性,为了提高SQL Server的表现,是有必要深入了解的,面试时一般也会包含这两个小问题. 首先,是在一个Adv ...

  6. div光标定位问题总结

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. c语言,字符串原地翻转

    实现字符串的原地翻转: #include<stdlib.h> #include<stdio.h> #include<assert.h> #define SWAP(a ...

  8. MongoDB学习(翻译6)

    接上篇.... 字段或属性层次的序列化选项 有许多种让你控制序列化的方式,上一节通过约定方法来控制序列化,你也可以通过代码配置或者成员映射或者使用特性来控制你的序列化,下面说道的序列化的各个方面,我们 ...

  9. Direct2D

    Direct2D Direct2D教程III——几何(Geometry)对象 摘要: 目前博客园中成系列的Direct2D的教程有1.万一的 Direct2D 系列,用的是Delphi 20092.z ...

  10. js 获取页面内链接

    今天有同学问如何用 JS 正则表达式获取一段文本中的超链接,并对超链接进行处理,想了几分钟,写了下面的代码: var re = /https?:\/\/[\w\.:~\-\d\/]+(?:\?[\w\ ...