zoukankan      html  css  js  c++  java
  • Git在Xcode中的配置与使用常见问题总结

    书接上回提出的Git在Xcode中的配置与使用常见问题4个问题

    问题1,如何在Xcode中创建代码库,并添加和提交代码到代码库?

    问题2,如何在Xcode中提交推送给远程服务器代码库?

    问题3,如何在Xcode中克隆远程服务器代码库到本地?

    问题4,如何使用Xcode获取远程代码库数据,并解决冲突问题?

    1、问题1

    创建代码库有两种方式,一种是新建工程时候创建,另一种是把现有的工程拷贝到代码库下,再初始化代码库。

    如果是新建工程时候创建,在保存文件时候可以选择是否创建,如果勾选“Create local git repository for this project”,则就会为工程创建代码库。

    1

    注意Xcode 4生成的目录结构如下:

    1 HelloWorld

    2 ├── HelloWorld

    3 │ ├── …

    4 │ ├── ViewController.h

    5 │ ├── ViewController.m

    6 │ ├── en.lproj

    7 │ │ ├── InfoPlist.strings

    8 │ │ └── MainStoryboard.storyboard

    9 │ └── main.m

    10└── HelloWorld.xcodeproj

    11│

    12└──.git

    第一行的HelloWorld是工程目录也是代码库的根目录,第二行的HelloWorld目录是存放源程序目录。而我们以前的目录结构与此不同,目录结构如下所示:

    1 myrepo

    2└── HelloWorld

    3│ ├── HelloWorld

    4│ │ ├── …

    5│ │ ├── ViewController.m

    6│ │ └── main.m

    7│ └── HelloWorld.xcodeproj

    8└──.git

    第一行myrepo是代码库的根目录,第二行的HelloWorld是工程目录,这样的结构可以一个代码库可以放置多个工程,是一对多的关系,而Xcode生成的方式是代码库就是工程目录,它们是一对一的关系。

    如果我们还是采用一对多的关系,就不用在创建工程的时候勾选“Create local git repository for this project”选项了。这就需要将现有的HelloWorld工程拷贝到myrepo目录,在终端中执行如下命令:

    $ cd ~/myrepo

    $ git init

    Initialized empty Git repository in ~/.git/

    初始化完成之后在添加并提交HelloWorld工程,在终端中执行如下命令:

    $ git add .

    $ git commit -m ‘tony init’

    [master (root-commit) 98d7e4a] tony init

    10 files changed, 643 insertions(+)

    create mode 100644 HelloWorld/HelloWorld.xcodeproj/project.pbxproj

    create mode 100644 HelloWorld/HelloWorld/AppDelegate.h

    create mode 100644 HelloWorld/HelloWorld/AppDelegate.m

    create mode 100644 HelloWorld/HelloWorld/HelloWorld-Info.plist

    create mode 100644 HelloWorld/HelloWorld/HelloWorld-Prefix.pch

    create mode 100644 HelloWorld/HelloWorld/ViewController.h

    create mode 100644 HelloWorld/HelloWorld/ViewController.m

    create mode 100644 HelloWorld/HelloWorld/en.lproj/InfoPlist.strings

    create mode 100644 HelloWorld/HelloWorld/en.lproj/ViewController.xib

    create mode 100644 HelloWorld/HelloWorld/main.m

    然后就可以在Xcode中代码这个工程了。我们修改并保存文件后,会看到在导航面板中文件的后面有一个“M”图标,这说明文件修改了但没有提交。

    2

    如 果只是想提交选中的文件,可以是右键菜单Source Control→Commit Selected Files…,其中的Source Control菜单都是有关代码控制的。如果想提交全部的修改文件,可以菜单File→Source Control→Commit…。然后会弹出对话框。

    3

    其中有两个代码窗口,左边是本地未提交版本,右边是代码库中的版本,这里可以比较看看修改了哪些内容。在下面输入框中添加注释,点击提交按钮就可以提交了。

    2、问题2

    本地有代码库提交推送给远程服务器代码库,在Xcode中可以通过菜单File→Source Control→Push…进行推送,但是如果是第一次访问,会出现对话框,没有可以推送的远程服务器代码库名。

    4

    我 们需要建立这个名字,在命令行中我们是通过$ git remote add hw git@192.168.1.108:myrepo创建的,其中hw就是这个名字。在Xcode中可以通过菜单Window → Organizer,选中Repositories→myrepo→Remotes,点击左下角的“Add Remote”按钮,弹出对话框,在Remote Name项目中输入remote_repo,Location项目中输入git@192.168.1.108:myrepo,完成之后点击Create按 钮创建这个名字。

    5

    创建完成再重新推送,如果弹出对话框,Push按钮是可以点击的,点击Push按钮推送。

    6

    3、问题3

    这 个问题是从服务器代码库克隆到本地,首先需要在Xcode中添加一个远程代码库,需要通过菜单Window → Organizer进入到Repositories画面,点选左下角的“+”按钮,选择Add Repository,在Location项目中输入git@192.168.1.108,Type项目选择Git,Name项目会自动添加,如果 Authentication required为变为黄色小点,说明配置连接没有问题,然后点击Add按钮创建。

    7

    如果创建成功,就会出现在左边代码库列表中,请选择刚才创建的代码库,然后选择下面的Clone按钮,并选择本地保存位置。

    8

    4、问题4

    如果服务器代码有新的版本,获取远程代码库数据到本地,可以通过菜单File→Source Control→Pull…。然后会弹出对话框。选择Choose按钮就可以获取新的版本了。

    9

    如果这个过程中有冲突发生,会弹出对话框在两个代码窗口中可以看到它们的冲突点,

    10

    下面的4个按钮,可以把冲突点进行合并,并进行编辑。如果没有冲突,Pull是可以点击,点击Pull按钮就可以了。

    ------------------------------------------

    1、新建一个工程,用git
    2、进入该目录
    3、照着命令敲:

    git config --global user.name "XYling"
    git config --global user.email "492199045@qq.com"
    初始化版本库
    git init
    添加
    git add . 注意有空格
    提交标注
    git commit -m "标注"
    添加远程分支(两种类型,换成你的)
    git remote add origin git@git.oschina.net:superYou/objective-c.git

    -------远程连接

    git remote add origin https://git.oschina.net/superYou/objective-c.git
    上传
    git push -u origin master

  • 相关阅读:
    hdu5360 Hiking(水题)
    hdu5348 MZL's endless loop(欧拉回路)
    hdu5351 MZL's Border(规律题,java)
    hdu5347 MZL's chemistry(打表)
    hdu5344 MZL's xor(水题)
    hdu5338 ZZX and Permutations(贪心、线段树)
    hdu 5325 Crazy Bobo (树形dp)
    hdu5323 Solve this interesting problem(爆搜)
    hdu5322 Hope(dp)
    Lightoj1009 Back to Underworld(带权并查集)
  • 原文地址:https://www.cnblogs.com/ShaoYinling/p/4338157.html
Copyright © 2011-2022 走看看