Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在Eclipse中合并代码_Android_Eclipse_Git_Bitbucket_Egit - Fatal编程技术网

Android 如何在Eclipse中合并代码

Android 如何在Eclipse中合并代码,android,eclipse,git,bitbucket,egit,Android,Eclipse,Git,Bitbucket,Egit,如何在Eclipse中为以下内容添加点 我在Eclipse中创建了一个Android应用程序项目,并使用eGit和BitBucket将其置于版本控制之下(同样,我不知道这是否是描述它的最佳方式,因为我是版本控制新手)。到目前为止,我已经编写了一些代码并进行了几次提交。我邀请了一位参加这个项目的朋友。昨晚他们更改了一些密码 今天,我启动了Eclipse,并希望继续在项目上工作,但希望从他们停止的地方开始。我右键点击项目,进入团队->同步(这对我来说是最符合逻辑的一步)。没有发生我担心的事情 如何在

如何在Eclipse中为以下内容添加点

我在Eclipse中创建了一个Android应用程序项目,并使用eGit和BitBucket将其置于版本控制之下(同样,我不知道这是否是描述它的最佳方式,因为我是版本控制新手)。到目前为止,我已经编写了一些代码并进行了几次提交。我邀请了一位参加这个项目的朋友。昨晚他们更改了一些密码

今天,我启动了Eclipse,并希望继续在项目上工作,但希望从他们停止的地方开始。我右键点击项目,进入团队->同步(这对我来说是最符合逻辑的一步)。没有发生我担心的事情


如何在本地计算机上获取最新版本的工作代码?当我完成工作时,我是否像我一直做的那样,右键单击项目,然后进入:团队->提交,然后是团队->推送到上游?

您无法获得朋友更改的最新代码,可能是因为他更改后没有提交..现在,虽然您无法获得更改的代码,但您也可以提交更改的代码因为当他提交时…可能会显示错误,然后你的朋友会更改他的代码库,即你提交的代码

如我所评论的,我建议不要使用eGit

如果在windows上,请下载并安装

然后右键单击eclipse项目文件夹-在此处选择GitBash并发出

$ git pull

fetch的问题在于,它不仅获取-拉取,而且还合并了它在Eclipse中获取的提交,开始使用Git Repository Explorer透视图和Git Staging视图

存储库资源管理器显示您的克隆,允许您查看分支、更改历史记录等。您可以右键单击克隆的名称并选择“拉”。这将从Bitbucket服务器获取更改,然后将它们合并到本地分支

请注意,在隐藏任何本地修改的文件或将其提交到分支之前,不应提取。如果拉动与任何本地更改冲突,则将拒绝该操作

当你和别人共享一个分支时,你应该考虑通过配置分支修改你的本地(主)分支。要启用重设基础选项。这意味着,当您通过本地分支合并远程更改时,任何传出的提交都会在传入的提交之上重放。这意味着,当您推送时,您可以避免合并点,因为合并点会使历史变得混乱。鼓励在自己的回购协议中工作的其他人也这样做

其次,在提交更改时,请学习使用Git Staging视图。这使得拖放更改和一次性提交更改变得很容易。您也可以从团队|添加和团队|提交中执行此操作。。。但在我看来,这要笨拙得多

当您准备好让其他人看到您已提交的更改时,您必须推动它们。通常,您可以在项目上右键单击并选择Team | Push to upstream,或者转到存储库资源管理器,在克隆上右键单击并选择Push to upstream。如果需要,您可能必须先拉,然后才能推,因为如果更改不满足合并要求,服务器将拒绝这些更改


这是在Eclipse中使用Git的基本工作流。一般来说,还应确保您的EGit插件版本至少为2.3.1或3.0.1,具体取决于您的Eclipse版本。

不,他肯定推送了提交,因为我可以查看BitBucket上的更新代码—他更改并提交的代码。如果我正确理解了你的第二点,我现在就不应该提交,因为它可能会导致相互冲突的错误?是的,这就是我害怕的。我不想在获取最新版本之前更改代码和提交。只需尝试Team->Fetch From Upstream。在这里我可以看到他们的承诺。我选择此选项并单击“确定”,但什么也没发生。在这一步之前/之后,我是否有遗漏或没有做的事情?我是否需要团队->在我团队->从上游获取后提交?那么我将回迁委托给我的本地回购?从本质上讲,回购承诺是反向的吗?如果我覆盖了他们的代码,我会犹豫是否尝试此操作。在这里找到VonC发布的解决方案。谢谢你的回答,但我正在尝试远离命令行,因为这会给我带来更多的问题,因为我在这方面没有任何经验。经过几个小时的尝试,我终于找到了答案。答案与解决方案的链接一起列出。再次感谢您的帮助。@HansMoolman:您将在使用eGit时遇到无休止的问题-我也不使用命令行-但在某些情况下建议使用它-无论如何,您可以使用git gui进行推送。相信我,你要么学习msysgit,要么就进入了一个痛苦的世界。Git真的很棒,但是有一个学习曲线,如果忽略它,你最终会失去你的工作。你已经被警告过了。顺便说一句,把你的答案作为一个答案贴出来,并接受它-这是正确的事情,多索里认为我已经贴出了答案。但谢天谢地,我没有这样做,因为我认为我在这方面造成了更多的问题。你可能是对的。艾吉特。我将尝试另一种解决方案,让msysgit试一试。@HansMoolman:实际上这很简单-如果您没有编辑文件,那么您就不必手动合并(这可能很棘手,但这是git(或一般的版本控制)的一部分,而不是msysgit、egit等)。请完成并发布您的结果