在Mac上使用Git + GitX和Xcode项目的快速指南?

时间:2010-11-30 17:52:57

标签: xcode git macos gitx

在Mac上使用Git感觉就像一个巨大的痛苦,而Git文档只是huuuuuuuuge。也许某人有一篇绝密的博客文章,甚至还有一个网络直播的分享,这简单而快速地解释了基础知识?

  • 创建存储库。痛苦。

  • 使用GitX:Pain。

  • 打开该存储库
  • 在Xcode中工作,然后进行更改:不知道,可能也很痛苦。

  • 使用自己的mac将存储库克隆到其他一些开发人员,以便他们可以开始协作项目:哦,伙计,我的头爆炸......需要医生!

  • 以某种方式合并这些克隆的存储库,这样每个人都可以获得更新的存储库以及其他任何人的更改:红色警报!

现在我觉得我需要一个月才能搞定。如果有人可以指出真正有用的资源而不会强迫我阅读几天,那会很高兴吗?还是有一本很棒的书可以解释这种疯狂?

5 个答案:

答案 0 :(得分:4)

Git绝对是巨大的,你当然可以花那个月学习它的过程,但你可以坚持一些基本的概念,最终得到一个非常好的工作流程。我使用命令行,因为它允许您坚持这些基础,并在需要时扩展。这些基本命令是“pull”,“push”,“init”,“commit -am”消息“”。之后,您可以在gitref.org了解分支和变基。

作为mac Xcode + git用户;我绝对推荐DTerm让生活变得轻松。一个键命令会弹出一个浮动终端窗口,CD到当前活动的文件目录。在XCode中,这意味着您将立即进入git控制的目录。

所以,我的工作流程 -

  1. 在终端中使用“git init”创建存储库
  2. 创建github存储库
  3. 按照github说明关联两个
  4. 在我的项目中工作时,按Shift-Command-Enter以显示浮动终端窗口
  5. 键入“git commit -am”提交消息“提交所有当前更改
  6. 相同的键组合加上“git pull”或“git push”,用于从代码存储库中提取更改或分别将更改推送到代码存储库
  7. 我发现命令行允许使用git比GitX更容易的工作关系,特别是如果你使用像DTerm这样的东西。

    如需参考,请查看gitref.org.祝你好运!

答案 1 :(得分:2)

启动终端窗口。

创建存储库:

cd project-dir
git init

在GitX中打开存储库:

cd project-dir
gitx

提交更改:

git status
git add .  # or individual files
git commit

(从头开始设置.gitignore文件是个好主意。)

阅读Pro Git书籍或查看git-scm.com上的一些视频教程,以便快速入门。 Linus的一个主要是对实施的描述以及对其他VCS的咆哮;第二个视频非常有用。

答案 2 :(得分:1)

我在OSX下使用git大约6个月(尽管没有使用Xcode)。这是一种享受!但是,这是一次痛苦的经历和有时陡峭的学习曲线,特别是当项目中的其他人都是Windows开发人员(有更多选择的git客户端)和反OSX(不愿意或无法提供帮助)时。但从长远来看,这是值得的。这是可行的!一旦你掌握了基础知识,你会发现它比Subversion好10倍。合并只是工作。冲突或多或少成为过去。

但是我的建议,忘了GitX,这是废话。我开始使用它,很快意识到它没有(或至少18个月它没有做)任何你不能轻易从命令行做的事情。它也减少了很多。所以你最终终于进入了终端......而那是因为自己无能而通常讨厌使用终端的人!如果您想要一个像样的前端客户端,请尝试使用Syntevo的SmartGit。一旦我发现我很快就爱上了Git。

还建议阅读larsmans提到的Pro Git电子书。

答案 3 :(得分:1)

理解Git的简单性很难。如果您对其他(集中式)版本控制系统有一些经验,请尝试忘记它们并理解Git的基本概念(对象,提交,分支......)。那里有很多书。我建议短(30页长)Git from bottom up,它是免费的,非常实用。另一本免费学习资料是gitcastsPragprogpeepcode也有很棒的书籍和截屏视频。它们不是免费的,但很有用。

我使用git和XCode几个月,他们一起工作。虽然XCode没有将git列为受支持的版本控制系统,但您可以从命令行使用git。我尝试使用GitX,但从未发现它比命令行中的git更有用。尝试一下,也许它更适合你的习惯。

对于XCode,我发现这个gitignoregitattributes文件对我的项目很有用:

的.gitignore:

# xcode noise
build/*
*.pbxuser
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3

# osx noise
.DS_Store
profile

# other
.svn
*.swp

.gitattributes:*.pbxproj -crlf -diff -merge

答案 4 :(得分:0)

我发现Git Book是一个非常有用的资源。它以简单的术语解释了基础知识,并没有试图通过进入所有功能背后的技术推理来使事情过于复杂。至少那是我从中得到的。