我最近开始与Git合作。 在线阅读Git书籍 ( Git book )我在“Git Rebase”部分find了以下内容: 使用rebase命令,您可以获取一个分支上提交的所有更改,并在另一个分支上重播。 (引自: http : //git-scm.com/book/en/Git-Branching-Rebase ) 我认为这是git cherry-pick的确切定义(在当前签出的分支上重新提交一个提交或一组提交对象。 我在这里错过了什么?
最新评论 我相信我的问题发生在使用Nuget时,但是,如果您正在阅读,因为TF30063错误。 看看我提供和接受的答案。 原始post 当我尝试检出时,收到此错误消息。 这种情况是随机发生的,即使在几分钟之前,视觉工作室的相同实例也允许我检查其他内容以进行编辑。 目前的解决方法是重新打开VS2010。 在我的本地开发机器上使用W7x64,vs2010终极与TF2010和sql2008。 我不是域的一部分。 我是这台电脑的pipe理员。 额外2011-08-09 当问题发生时,我在文件下面“closures解决scheme”。 然后重新打开解决scheme。 然后我得到一个uid / pwd框。 我把我的pipe理员用户名/密码进入它,然后得到进一步的错误信息。 再次,closuresVS2010和重新开放解决了这个问题。 附加:2011-08-30 我相信这与nuget有关。 我已经提供了一个答案,并在很多个月后,我没有一个TFS错误。 考虑到我一直在执行的操作types与使其失败的场景相同,在那里我应该有一个错误。
我在github上有一个主分支(主)和一个分支,用于一些实验性工作。 我做了一些提交,并推到实验分支,一切都很好。 现在,在另外一台机器上,我尝试克隆我的仓库(git clone repository ),然后切换到实验分支(git checkout branchname ),但是每当我这样做的时候,我的脑袋就会分离,我无法推送我的更改。 我究竟做错了什么? 我觉得我错过了一个基本的git概念,但读随机的git手册页并没有给我任何线索。 我是新来的混帐,所以我很抱歉,如果我是一个白痴,但我找不到任何文件,这将帮助我重新贴上我的头。 编辑 跟踪分支的概念就是我所缺less的。 现在我对这个概念有了一个清楚的认识。 就个人而言,我发现git branch –track语法比git checkout -b branch-name origin/branch-name更直观。 谢谢您的帮助!
我们正在使用Perforce和Visual Studio。 每当我们创build一个分支时,除非我们使用“从源代码pipe理打开”,否则一些项目不会被绑定到源代码控制,但是其他项目无论如何都可以工作。 从我的调查中,我知道一些涉及的事情: 在我们的.csproj文件中,有这些设置: <SccProjectName> <SccLocalPath> <SccAuxPath> <SccProvider> 有时候,他们都是“SAK”,有时候不是。 如果这些说“SAK”,似乎事情更有可能发挥作用。 在我们的.sln文件中,有很多项目的设置: SccLocalPath# SccProjectFilePathRelativizedFromConnection# SccProjectUniqueName# (#是标识每个项目的数字。)SccLocalPath是相对于解决scheme文件的path。 通常是“。”,有时是项目所在的文件夹,有时候是“..”或者“.. \ ..”,看起来好像是指向上面的文件夹解决scheme 相对化的是从该文件夹到项目文件的path。 如果SccLocalPath指向项目的文件夹,它将完全丢失。 如果SccLocalPath中包含“..”,则此path可能包含分支之间不相同的文件夹名称,这是我认为会导致问题的原因。 所以,为了最终得到我想知道的细节: 当您执行“更改源代码pipe理”并绑定项目时会发生什么? Visual Studio如何决定在项目和解决scheme文件中放置什么? 当你从“源代码pipe理”打开时会发生什么? SccLocalPath和SccProjectFilePathRelativizedFromConnection引用的这个“连接”文件夹是什么? Visual Studio / Perforce如何挑选它? 是否有一些build议的方法来使源代码控制绑定继续工作,即使您创build解决scheme的新分支? 2012年6月增加:我不再使用Perforce,所以我不能保证它,但看看下面的KCD的答案 。 显然有一个新的P4 VS插件正在开发中。 希望它应该清除所有这一切!
在我所称的_Electronics的第一个承诺中,它是以大写字母开头的,然后我将它改为_electronics 。 在cygwin下的Git在提交新名称后忽略了这个案例,所以我在目标回购中手动更改了名字。 现在它有时会将_electronics部分更改为_Electronics 。 我做错了什么?
我需要实现版本控制,即使只是在家做的发展。 我已经阅读了Subversion在过去几年中的出色performance,并且正在致力于学习这方面的知识,直到我听说Git是即将到来的版本控制系统。 考虑到这种情况,我是否应该坚持一下,看看哪一个出来? 他们的相对优势是什么? 我在Git中注意到的一个问题是没有很多全function的GUI,这对于我的团队中的许多用户来说是非常重要的。 此外,不介意如何开始与其中一个的build议。 (教程等)
我对git和版本控制都很陌生,所以我想弄清楚一个补丁是什么,它与我在git中做的其他活动有什么不同? 我什么时候申请补丁? 每次我犯的时候都会发生吗?
假设我有台式电脑和笔记本电脑,有时我在台式机上工作,有时我在笔记本电脑上工作。 什么是最简单的方式来回移动git仓库? 我希望git仓库是相同的,这样我就可以继续离开另一台计算机。 我想确保在两台计算机上都有相同的分支和标签。 感谢Johan 注:我知道如何使用SubVersion做到这一点,但我很好奇这将如何与git工作。 如果更容易,我可以使用第三台PC作为经典的服务器,两台PC可以同步。 注意:两台电脑都在运行Linux。 更新 : 所以,让我们尝试一下XANI的想法:在服务器上使用git repo,使用KingCrunch的push命令语法。 在这个例子中有两个客户端和一个服务器。 所以让我们先创build服务器部分。 ssh user@server mkdir -p ~/git_test/workspace cd ~/git_test/workspace git –bare init 那么,从其他计算机之一,我试图得到克隆的副本: git clone user@server:~/git_test/workspace/ Initialized empty Git repository in /home/user/git_test/repo1/workspace/.git/ warning: You appear to have cloned an empty repository. 然后进入该回购并添加一个文件: cd workspace/ echo "test1" > testfile1.txt git add testfile1.txt git commit […]
我一直都是独立编程的,我还是个学生,所以我从来没有和其他人一起编程,我以前甚至没有使用过版本控制系统。 我正在开发一个项目,它需要知道程序员如何在公司的一个软件上一起工作。 软件是如何编译的? 它是否来自版本控制系统? 是由个人程序员吗? 它是周期性的吗? 是否有人决定build造什么? 是否有任何testing,以确保它“工作”? 任何事情都可以做。
我工作的公司开始有他们目前的分支模式的问题,我想知道社区已经接触到什么不同的分支策略? 对于不同的情况有什么好的吗? 你的公司使用什么? 他们的优点和缺点是什么?