如何将git与Xcode集成

时间:2012-06-07 01:13:19

标签: iphone objective-c xcode git github

我是iOS开发的新手。

我想知道是否有办法使用带有Xcode内置SCM功能的git存储库?

我正在使用Xcode 4.2和GitHub。

考虑到我已经在xcode中成功设置了我的git ...你能告诉我它是如何工作的吗?你知道,我想知道其他用户在做什么。比如说,他们也可以访问GitHub中的git存储库。所以,我想知道的是,我可以在不进入网站的情况下看到他们对存储库的更改吗?我尝试了xcode颠覆,它为我的更改显示了一些标记,如'M','A','D'和其他标记,然后每当更改来自其他用户时显示'U'。是这样的git设置呢?我还能看到他们的实时变化吗?

2 个答案:

答案 0 :(得分:3)

是的,你可以。当您创建一个新项目时,Xcode会为它创建一个新的git存储库。从本地存储库创建远程存储库有点痛苦,但可行。

您还可以输入远程仓库的URL并将其克隆到本地系统上。为此,最简单的方法是使用“欢迎使用Xcode”窗口(命令shift 1)。单击“连接到存储库”并输入远程URL,您应该接受凭据挑战,然后它将允许您克隆它。

答案 1 :(得分:1)

我将给出基本答案和高级答案。

基本答案:完成拉动后,转到文件 - >源代码管理 - >存储库。然后,您可以单击您的存储库并查看其他人(和您自己)所做的所有提交。每次提交旁边都有一个小的披露三角形。单击它将显示已更改文件的列表。单击“显示更改”按钮将允许您检查每个更改的详细信息。

高级回答:

你将不得不学习与git有点不同的操作,这对你来说似乎很陌生,因为你已经习惯了颠覆性的做事方式。坚持下去。一旦掌握了它,Git就很棒了。

首先要做的事情。当您想从中央存储库(github)检索更改时,您有两种选择如何执行此操作。你可以获取或拉取。使用fetch,更改将被拉入您的本地存储库,但在您这样说之前不会合并。使用pull,可以一步下载和合并更改。许多人认为拉是更好的选择,因为它可以一步完成两项任务。

然而,使用pull使得看到发生的事情变得更加困难,除非你对git命令有一定的了解。

要查看更改内容,请从终端执行以下操作:

git checkout master 
   (Make sure we're on the master branch)
git fetch 
  (This command pulls down the changes, but keeps them in their own <remote_name>/<branch name> branch until you explicitly merge them)
git diff origin/master 
  (This command shows you the differences between what you just pulled down and your local copy of master)

您还可以使用git difftool命令(如果已配置它)来查看FileMerge等图形工具中的差异。

一旦您查看了更改并感到满意,将它们带到您当地的分支机构,您就可以:

git merge origin/master
   (merge origin/master with the branch I'm on - master)

此过程为您提供灵活性,以便在合并之前检查事物。如果您不满意,您可能希望让开发人员恢复他的更改,例如。

现在,可以使用git pull完成所有操作,但由于更改会自动合并,因此会使其更复杂一些。例如,在拉动之后,要看到差异,你必须弄清楚你的提交ID在拉动之前是什么,然后做:

git diff <id of commit before pull>..

结果相同,只是稍微复杂一些。

关于git的好处是它真的很难避免丢失你的任何数据。所以,例如,如果你git pull而不喜欢这些变化,你可以做git reset --hard <commit of the last good commit>,然后你会回到你所在的地方。

学习从终端做这些事情似乎很难,但它给你巨大的力量,所以值得学习。