Tag: git新

如何将新的本地分支推送到远程Git存储库并进行跟踪?

我希望能够做到以下几点: 根据其他(远程或本地)分支(通过git branch或git checkout -b )创build本地分支 推送本地分支到远程存储库(发布),但使其可跟踪,所以git pull和git push将立即工作。 我怎么做? 我知道Git 1.7中的–set-upstream ,但是这是一个后期创build操作。 将分支推送到远程存储库时,我想find一种方法来进行类似的更改。

可以“自动拉”自动存储和popup挂起更改?

我知道如何解决这个问题: user@host$ git pull Updating 9386059..6e3ffde error: Your local changes to the following files would be overwritten by merge: foo.bar Please, commit your changes or stash them before you can merge. Aborting 但是,难道没有办法让git pull为我stash和pop舞蹈吗? 如果这个命令有一个不同的名字,没关系。 为git stash; git pull; git stash pop创build一个shell别名git stash; git pull; git stash pop git stash; git pull; git stash pop […]

msysgit和Cygwin + git的区别?

msysgit和Cygwin + git有什么区别? 现在我使用的是msysgit,但是我不喜欢Git Bash(你不能resize或者复制/粘贴),所以我想着考虑切换到Cygwin,因为那样我就可以使用mintty了 。

git二进制差异algorithm(增量存储)是标准化的吗?

Git使用增量压缩来存储彼此相似的对象。 这个algorithm是否被标准化,并在其他工具中使用? 是否有描述格式的文档? 它是否与xdelta / VCDIFF / RFC 3284兼容?

使用Git-Svn克隆非标准Svn库

我对Git相对来说比较陌生,但是我发现在家工作非常容易,我希望在我们的项目存储在Svn仓库的工作中使用它。 不幸的是,这些软件库稍微不标准,我无法克隆它们。 当然,他们都有主干,分支/和标签/,但分支/和标签/有子目录之前击中真正的项目目录: trunk/ branches/maintenance/release1 branches/maintenance/release2 … branches/development/feature1 branches/development/feature2 … tags/build/build1 tags/build/build2 … tags/release/release1 tags/release/release2 克隆后: $ git svn clone -s –prefix=svn/ https://mydomain.com/svnproject $ git branch -r development development@1340 maintenance maintenance@1340 tags/build tags/build@1340 tags/release tags/release@1340 trunk trunk@1340 我没有得到任何实际的项目分支或标签。 我实际上需要能够在干线,一个维护分支和一个开发分支上工作。 我已经尝试了这种方法,除了修改configuration几个黑客,但没有任何工作对我来说。 有什么办法可以将我的非标准Svn项目的关键组件到本地git存储库,以便我可以轻松地在它们之间移动? 非常感谢。 更新:我应该补充说,我不能做批发切换到Git(还)。 还有其他团队成员参与和国际存在。 过渡的物stream比我愿意承担的要多,直到我对Git更加舒适。 正如我所提到的,我还是很新的。 我几乎没有抓住它的能力的表面。

在Git中删除后,我可以恢复分支吗?

如果我运行git branch -d XYZ ,有没有办法恢复分支? 有没有办法回去,如果我没有运行删除分支命令?

撤消'git push'

这就是我在我应该稳定的分支上做的事情 % git rebase master First, rewinding head to replay your work on top of it… Fast-forwarded alpha-0.3.0 to master. % git status # On branch alpha-0.3.0 # Your branch is ahead of 'origin/alpha-0.3.0' by 53 commits. # nothing to commit (working directory clean) % git push Fetching remote heads… refs/ refs/heads/ refs/tags/ refs/remotes/ 'refs/heads/master': […]

在Windows中的Git符号链接

问题是:我们的开发人员使用基于Windows和Unix的操作系统。 因此,在Unix机器上创build的符号链接成为Windows开发者的一个问题。 在Windows(msysgit)中,符号链接被转换为一个文本文件,并带有它指向的文件的path。 相反,我想将符号链接转换为实际的Windows符号链接。 ( 更新 )的解决scheme,我必须这样做: 写一个post-checkout脚本,recursion地查找“符号链接”文本文件。 将它们replace为具有相同名称和扩展名的windows符号链接(使用mklink)作为虚拟“符号链接” 通过将条目添加到.git / info / exclude中,忽略这些窗口符号链接 我没有实现这一点,但我相信这是一个坚实的方法来解决这个问题。 我给你的问题是: 你认为这种方法有什么缺点? 这个后结帐脚本甚至可以实现吗? 即我可以recursion地找出假的“符号链接”文件git创build? 有没有人已经在这样的脚本? =) 谢谢一堆!

如何从Git存储库中删除选定的提交日志条目,同时保持其更改?

我想从线性提交树中删除选定的提交日志条目,以便条目不会显示在提交日志中。 我的提交树看起来像这样: R–A–B–C–D–E–HEAD 我想删除B和C条目,以便它们不会显示在提交日志中,但是应该保留从A到D的更改。 也许通过引入一个单一的提交,使B和C成为BC,树看起来像。 R–A–BC–D–E–HEAD 或者,理想的情况是,A直接来到D之后。 D'表示从A到B,B到C和C到D的变化。 R–A–D'–E–HEAD 这可能吗? 如果是的话,怎么样? 这是一个相当新的项目,所以现在没有分支,因此也没有合并。

合并,更新,并拉动Git分支,而不使用结帐

我工作的项目有2个分支,A和B.我通常在分支A上工作,并从分支B中合并东西。对于合并,我通常会这样做: git merge origin/branchB 不过,我也想保留一个B分支的本地副本,因为我偶尔会检查分支,而不是先与分支A合并。为此,我会这样做: git checkout branchB git pull git checkout branchA 有一种方法可以在一个命令中执行上述操作,而不必前后切换分支? 我应该使用git update-ref吗? 怎么样?