xcode gitgit 版本对比比哪些文件修改过

iOS Git版本控制和Xcode结合使用
1.为什么要使用版本控制
  什么是版本控制:版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
  版本控制系统本质:版本控制是检测文件的改变并将其保存,留作以后参考使用。
2.早期本地版本控制系统
  单人的本地系统
  中心版本控制系统
    优点:可多人合作
    缺点:Server Down时会丢失数据
  分布式版本控制系统
    特点:1.每个客户端并不只是获取最新的代码,还保存有与服务器相同的所有代码
       2.服务器发生故障时,可以从任意client恢复
3.什么是git
  git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
  git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件
4.git工作原理(本地)
  工作区(working directory):工作区中有仓库文件夹里除.git目录以外的内容
  版本库(Repository):.git目录,用于存储记录版本信息
  暂缓区(stage):执行commit动作后,缓冲区不会存在原来add的文件
  分支(master):git自动创建的第一个分支
  HEAD指针:用于指向当前分支
5.git工作原理(本地和远程)
  1.几乎每一种版本控制系统都支持分支。
  2.使用分支从开发主分支(master)上分离,不影响主线的代码。
  3.通过HEAD指针了解当前在哪个分支上工作
7.git常用命令
  查看命令:
    1.git --help      查看git所有命令
    2.git clone -help    查看git clone命令的细节
    3.git config -l     & 查看当前所有配置
  创建本地代码库和配置个人信息
    1.git init                  初始化本地仓库
    2.git config user.name xxxx         配置用户名字(xxxx为配置的用户名字)
    3.git config user.email
& & &配置邮箱
  一次性完成用户名和邮箱的配置
    1.git config &global user.name xxxx        &一次性配置用户名(xxxx为配置的用户名)
    2.git config &global user.email &  一次性配置邮箱  git代码提交相关命令
    1.git status             查看代码库状态
    2.git add xxxx            &将文件xxxx提交到缓存区
    3.git commit -m &提交注释描述& &  将修改的代码提交到本地仓库Repository
    4.git add .              &将当前文件夹下所有新建或修改的文件一次性添加到缓存区
    5.git diff               &查看最新修改的文件
    6.git diff xxxx            查看xxxx文件修改的地方
    7.git checkout xxxx         撤销对xxxx文件的修改
  git日志log相关命令
    1.git log     查看所有版本库日志
    2.git log xxxx   查看xxxx文件的版本库日志  git版本切换相关命令
    1.git reflog          & & 查看当前分支引用记录
    2.git reset xxxx &       & &xxxx文件从缓存区恢复到工作区(修改保留)
    3.git reset --hard        &恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
    4.git reset --hard 8146023   返回到8146023那个版本(使用git reflog命令查看)
  git分支branch相关命令
    1.git branch       &查看当前所处的分支
    2.git branch xxxx    创建xxxx分支
    3.git checkout xxxx   切换到xxxx分支
    4.git branch -d xxxx   &删除xxxx分支
    5.git merge xxxx    &将xxxx分支的代码合并到当前分支
  git标签tag相关命令
    1.git tag       查看版本
    2.git tag xxxx    &在本地创建xxxx的版本
    3.git tag -d xxxx   删除xxxx的版本
8.git远程仓库
  远程仓库的搭建
    1.github:
    2.oschina:git.oschina.net
  忽略不需要加入版本控制的文件或者文件夹
    1.链接:/search?utf8=?&q=gitignore&
    2.将.gitignore文件拷贝到.git文件夹同目录下
    3.git add .gitignore &添加到缓存区
    4.git commit -m "添加ignore文件" &添加到本地仓库中
9.如何在Xcode中使用git(mac本地)
  目标:使用Xcode创建一个git管理的工程
  步骤:
    1.创建Xcode工程,勾选&Create git repository on My Mac&选项,Xcode默认会在新项目创建时保存一个项目初始状态的版本
    2.添加/修改代码
    3.Source Control ==& Commit 提交修改版本
    4.左侧是文件的当前版本(没有提交的),右侧是文件的最近提交的版本
        Don't Commit:选中后对勾符号会变成禁止符号,对应的改动就不会提交到repository
        Discard Change:取消修改部分
    5.添加commit(提交的描述信息)
     提交修改的变化
    6.Source Control ==& History 显示提交的历史记录
10.Xcode中使用git细节(mac本地)
  创建新类文件,会在右边有A的标识
  项目的配置文件在添加新类时由Xcode自动修改
  版本对比
    View ==& Version Editor ==& Show Version Editor
    快捷键查看
    选择要进行对比的版本
  查看是谁提交的
    View ==& Version Editor ==& Show Blame View
  显示log视图
    View ==& Version Editor ==& Show Log View
11.Xcode上的git分支
  情景:开发新特性,不想破坏目前稳定主分支的程序
  git总会默认创建一个分支,名为master
  备注:
    1.提交到AppStore的最终产品一定是master分支的版本
    2.任何处于其他分支的代码,都必须先合并到master分支,之后才能正式发布
  在Xcode上创建分支步骤:
    Source Control ==& master ==& New Branch
12.提交代码git分支
  1.切换branch
  2.修改代码
  3.提交代码Commit
  4.查看分支代码
    View ==& Version Editor ==& Show Version Editor
13.合并两个分支变化到主分支
  合并步骤:
    1.首先在合并之前,该分支上做的修改必须先提交到本地仓库
    2.要确定你现在处在主分支上
    3.合并两个不同的分支到一个分支上你有两种选择
      从分支上合并Merge From Branch:你可以选择在分支上做过的任何修改来合并到当前工作分支上
      合并到分支上Merge Into Branch:你可以选择在当前工作的分支上做过的任何修改合并到分支上
      注意:当你当前活跃的分支是主分支的话,第二个选择是不可用的
14.Xcode中使用git细节(GitHub远程仓库)
  步骤:
    1.创建一个github账号
    2.创建一个远程repository
    3.填写repository信息
    4.Xcode ==& Preferences添加repository
    5.将github界面上的https url粘贴到Address,并填写账号和密码
    6.创建工程,选择Check out an existing project
    7.Check out github上的repository
    8.在刚才Check out的文件夹下,创建Xcode项目,此时Create Git repository on My Mac的选项是不可选的
    9.添加/修改代码,Source Control ==& Commit,流程跟上面Commit到本地一样
    10.push本地代码
    11.异常处理
      解决方案:
        1.全局配置邮箱信息,在终端输入:git config --global
        2.只是针对某个项目做设置
15.使用github客户端
  步骤:
    1.注册github账号
    2.下载github客户端(这里将mac版):
    3.打开客户端并登陆
    4.添加/创建一个代码库,先创建一个本地库,然后publish到github
    5.上传
    6.查看历史改动
    7.修改代码,可在客户端直接进入工程在本地的位置,打开后修改然后commit
    8.查看分支
版权所有 爱编程 (C) Copyright 2012. . All Rights Reserved.
闽ICP备号-3
微信扫一扫关注爱编程,每天为您推送一篇经典技术文章。Git : 动手做看看 – Xcode 里的 Git | IT@找着了【转】怎样在Xcode4中用Git对已有项目进行版本管理 编辑_百度知道让你的Xcode使用git进行源码版本控制 - 分享 - 十五言
在应用程序开发的过程中,很重要的一部分工作就是如何进行源码的版本控制。当我们的代码出现问题,就需要将代码恢复到原先正常的版本。我们现在的项目是多人共同开发一个项目,那么代码的版本控制就回非常复杂,幸运的是,开发者不需要自己控制这些,因为有专门的软件来负责,叫做版本控制系统。当下流行的版本控制系统有很多,或者说修改控制系统,实际上,这些都是一种检测原文件的改变并将其保存留作以后参考使用的机制。它们还能记录其他游泳的信息,比如哪个开发者修改了代码,何时修改的,修改了哪一部分,以及其他历史信息,所以选择一个适合的版本控制系统很关键。版本控制系统可以比较版本代码的不同,有必要时能恢复整个项目到以前的版本,追踪有害代码从而减少产品的错误。通过版本控制系统,开发者可以在一个项目的不同分支上工作,当项目的各个部分开发完毕后,将它们放到一起形成最终的版本,这样的过程我们称之为合并。事实上,这种做法在团队和软件公司中相当常见;每个人负责项目的一部分,最终所有部分被整合到一起形成最终的产品。对于个人开发者来说,版本控制系统并不属于必备的,但是我个人强烈推荐开发者使用它,因为它可以使代码方便的在有错误的版本和可以工作的版本之间切换。很多开发者从来不使用类似的工具,它们会在项目添加新的功能时手动来保存原先的项目,这其实是很不好的习惯,因为版本控制软件可以更好更高效的完成这项任务。Git是一个常见的版本控制系统,它最开始是由Liunx之父Linus Torvaids开发的,Git使用虚拟目录,又称为repositories,来管理一切事物。Git可以通过命令行调用,也有专门为它设计的桌面应用软件。如果git对你来说太陌生,我建议你在网上查看一些它的相关信息。从Xcode5开始引入了使用git的一些新特性,它将各种功能整合到一个菜单中,并提供子菜单来进行软件合并的控制。在实际工作中我们需要学习如何在xcode中使用git,以及xcode是如何整合git的各种功能。在git.iguokr中新建一个project打开git.iguokr,创建一个新的工程,我们需要填写一个英文的project name, namespace选择你的名字,visibillity level 选择private并点击create project,如下图所示
下一步中,定义git的global setupgit config --global user.name "yangfei"git config --global user.email ""下一步需要建立版本库,请看下图
查看状态git status例如:更改readme后保存然后git add readme这样所有的内容就被添加到源里面去了接下来git commit -m 'hsiudhfihsfisdihif'接下来会出现一个远程git源所执行的改变列表。好了,当你把自己的项目放入这个目录后,打开xocde,打开source control,主要功能全部可以使用,如下图所示
使用Git最常用的操作之一肯定是Commit啦,首先我在文件中添加一些代码,或者是做一些修改 然后保存,在文件的右边会出现一个M的标记,说明这个文件已经被modified,但是还没有commit。
下面我们选择file-&source control-&commit就会出现commit窗口
在这个界面,可以看到要commit的是哪些文件,如果不想commit这个文件,直接在左边的导航中,去掉文件前面的勾选即可,在这里我们看到ViewController.m这个文件改变的内容是添加了一个demoAction的方法和修改了clickTheButton方法中的NSLog的内容右边就是commit的上一个版本,通过这个界面,就可以很清晰的看到每个文件中修改的内容,不想commit这一段修改的话,可以直接在中间那个1的地方点一下,有don't commit 和 discard change两个选项,第一个选项就是不提交这段修改到git中,第二个是去掉这段修改,去掉的意思是会在源码中也去掉。在commit之前还要做的就是写commit message。commit之后去到Organizer,就可以看到新提交的记录了
同理,前端使用terminator编辑器中git版本控制,大家多了解一下,下次测试的时候看一下它们在这次提交的代码中都改了些什么,对测试项目会有很大的帮助哦。
后端开发使用vi编辑器的git版本控制还是用命令的模式,所以这里就不错截图了。
收录了本文的主题
大家都在看
阅读下一篇
高丽奸臣、暴君、女公知一起来教天朝导演拍古装三级政治片
点击微信右上角,可发送给朋友,或分享到朋友圈。
收录到我的主题1808人阅读
git版本控制(1)
git版本控制的时候,有很多非代码文件也会被跟踪,比较常见的如一些影藏文件DS_Store、以xcworkspace、xcuserstate、xcuserdata等结尾的状态文件等。为了不把这些文件加入版本控制体系中,我们需要进行以下三步设置,注意,每一步必不可少,也不可交换位置,下文会具体解释原因。
第一步:进入git的代码仓库,执行以下的代码
这两行代码(或者可以有更多,自己修改后缀名即可,这里列出了常见的两种隐藏文件)表示不再追踪以这些后缀结尾的文件,注意这里的文件在执行代码前其实已经被追踪(Tracked),执行完后,将不再被追踪。
第二部:修改.gitignore文件:
vim .gitignore
这时候会进入gitignore的文件的编辑界面,如果这个文件已经存在,则可以通过普通的文本编辑器直接进行修改(需要设置显示隐藏文件),复制以下内容进入.gitignore文件。(ignore.io推荐)
!default.pbxuser
!default.mode1v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.xcuserstate
按esc键退出编辑,输入:wq保存文件。
注意这里的gitignore文件的修改,仅对未追踪(Untracked)的文件生效,所以首先要执行第一步,取消对以上类型文件的追踪。
第三步:提交此处版本修改
git commit -m "Ignore some files!"
记得要执行此次提交,否则之前的修改不被保存。
重启Xcode并且尝试修改一个文件后执行commit,发现那些与代码无关的文件并不会被自动提交了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:261549次
积分:240981
积分:240981
排名:第1名
原创:80篇
评论:83条
文章:13篇
阅读:17292
阅读:21017
(3)(3)(5)(3)(12)(7)(12)(7)(12)(10)(4)(2)

我要回帖

更多关于 xcode git 的文章

 

随机推荐