我们都知道版本控制的重要性。如果发生冲突,或者情况真的很糟糕,可以节省很多时间。但是我们仍然可以争论哪种工具最适合使用git。这是因为Git通常是抽象的,并且可以看到它很难,因为这也需要与每个人的脑海相处。如果任何人在脑海中以不同的方式幻想着git,然后对工具进行争论,我不会怪我。我认为,每个人都有权利仅仅因为此而争论工具。
但是有哪些偏好?
在这里,我仅列出我拥有的工具。
终端
有时我会试图保持它非常保守。我只是使用终端。它在那边,就在我的IDE下方,我是有史以来最懒惰的人。命令通常是肌肉记忆,即使我必须写这样的东西:
git status
git add whatever/
git status
// what did I just do?
git status
git status
git status
// ah yea
git commit -m "Some related message"
git status
// did I commit?
git status
git status
git push
,它仍然比使用任何工具更容易。仅使用终端的原因对我来说实际上非常合乎逻辑:不同的公司,使用不同的工具。如果人们不知道如何在终端中使用Git,那么切换工具将是有史以来最困难的事情。同样,一旦您在新的终端结帐后,该终端就会对分支进行更改,这将是一个巨大的危险信号。 git可视化工具禁止这样的事情。
Sourcetree。
对我来说,另一个选择是sourcetree。在合并或rebase期间,我对终端不满意,尤其是当它带给我进行git merge <branch_name>
后的文件进行编辑时。因此,Sourcetree一直是我合并,重新分支以及樱桃挑选和标记提交的第一解决方案。 UI非常友好。但是,Sourcetree有时会在切换分支后将视图定位在正确的提交中,看起来很懒惰。
Android Studio
作为一个Android开发人员,我对我一直在IDE中一直忽略了这一部分的事实并不舒服:
因此,我认为我应该尝试一下。我关闭了Sourcetree,然后开始与Android Studio合作。我可以肯定地说,我遇到的唯一问题是
在这种情况下,Update
一词代表Pull
(来自远程)。这实际上让我思考:那不是更准确吗?由于Pull
和Merge
之间的辩论永远不会解决,所以为什么不完全将它们分开为概念呢?更新将是新的拉力和合并将继续合并。即使介绍了这个词,辩论仍然存在。但是,最重要的部分是知道您在做什么。
让我们从提交开始
通常,默认情况下,Android Studio倾向于git add
文件。创建新文件或删除和重新删除它们时,请小心。因此,让我们从Android Studio提出一个文件。该项目处于颤抖状态,但这足以示例。
樱桃挑选/补丁和提交
如果您只需要一个提交的更改,则Android Studio可视化与那里的其他大多数GIT客户端没有什么不同。只需右键单击您想与之合作的任何承诺,您需要的所有选项都将在那里:
您可能已经知道,该提交具有Android Studio称其为
Revision Number
的哈希。
应用补丁是Android Studio中最酷的事情之一。您可以立即从剪贴板上应用一个补丁。
如果剪贴板上复制的内容不是git补丁,您将无法粘贴。
恢复小/大变化
有时您只用一种方法迷路。您只想从头开始并从头开始。这是来自Android Studio的用户友好型。只需单击左侧的突出显示条,靠近计算代码行的数字,那就是:
,但有时您只是不想恢复,但是目前您想查看基本分支的方式并将其与您的工作进行比较。
这很有帮助。
拉/更新或仅将遥控器合并到您的
默认情况下可以在IDE的向下工具栏中找到整个GIT部分,但是,您可以轻松地将其移至您只需通过拖放而喜欢的位置。
这是查看本地和远程配置中所有内容的部分。要更新任何分支,只需按下以下图表所示的更新:
查看
如您所见,我目前在some_branch_name
中。如果我想结帐到一个(新)分支,那只是一键访问:
提取
如果您只想查看遥控器上是否有新的东西,但是您不在乎更新,请在此处找到获取:
标记
标记在Android Studio中也很简单,如Cherry-pick/Patches and commits
部分所示(请参阅图像)。但是,还有另一种方式。在IDE的上部工具栏中,您可以使用一个对话框来标记任何您喜欢的提交的提交,但是您需要在执行此操作之前复制提交哈希:
无论如何,与Sourcetree相比,它仅缺少一件小东西。您无法立即从此对话框中推出标签:
然后,您必须小心,不要忘记将标签推到远程时:
让我们现在玩一些乐趣。冲突。
解决了与Android Studio冲突解析器的冲突后,我可以说我将不再使用AS的Git下降了。如果需要更多地了解合并或重新审查,他们可以找到here, in this article that I wrote some time ago。
。只需单击Merge
按钮即可打开冲突解析器。现在将弹出另一个窗口:
在这种情况下,您知道您在做什么,其他人在做什么以及在此之后需要做什么。
好的,我仍然需要三件事的终端:
git merge --abort
git rebase --abort
git stash "stash_message_or_empty"
从终端看,这些似乎很容易,我将继续这样做,但这只是我,懒惰地找到按钮的位置。
关闭笔记
希望我对使用Android Studio的GIT有了一个一般的想法。要解决,用户友好和平滑非常容易。您更喜欢其他哪些git客户?