标签: dvcs

在 git 中,如何将更改从另一个分支拉到工作树中?

我在主题分支做了一些有趣的工作。现在我想在提交到主分支之前清除这些更改。因此,我想将所有这些更改拉入工作树中:让工作树包含主题的分支版本,并git diff显示主分支的所有更改。

那可能吗?我怎么做?

编辑:git merge --no-ff topic && git reset --mixed HEAD^似乎可以解决问题。如果有人有更优雅的答案,我洗耳恭听!

git version-control dvcs

2
推荐指数
1
解决办法
337
查看次数

Git:从存储库中删除用户信息

我有一个存储库,有多个用户提交给它。

我想制作存储库的副本,并删除所有用户信息。也就是说,应该存在单独的提交/评论历史记录,但有关who应删除的内容的信息(或者说,由一个特定的新用户替换)。

如何实现这一目标?理想情况下,我还想同步两个存储库。我知道如何使用 执行此操作--mirror,但不知道如何设置删除镜像存储库中的所有“用户信息”(或由单个新用户替换)。

git dvcs repository mirror

2
推荐指数
1
解决办法
917
查看次数

如何将加密信息存储在公共DVCS存储库中?

我有多个开发人员正在开发的项目.我们都在使用相同的git存储库.

目前,我没有将生产服务器配置存储在存储库中,因为配置文件包含数据库凭据.

我想开始将这些配置存储在存储库中,所以我在考虑加密配置文件,然后再将它们保存在DVCS中.

  1. 你们怎么看待这个想法?
  2. 怎么会这样做?

git encryption distributed dvcs

1
推荐指数
1
解决办法
726
查看次数

为什么我的git origin要删除所有推送的更改?

在想到我终于想出了git之后,我现在发现自己对我所看到的git行为非常困惑 - 每当我推动所做的更改并将其提交到我的本地机器到我的原始git存储库时,这些更改立即得到暂停在原始服务器上撤消.咦??!?

我有一台机器(机器A),上面有一个项目的git存储库; 该机器正在运行SSH服务器,我配置了一个帐户,以便我可以远程连接它并克隆git repo.然后我在机器B上使用git克隆了repo:

git clone ssh://username@remote.host/path/to/repo

没有问题.我在机器B上对项目进行了更改,并将这些更改提交到B上的git存储库.然后,我将更改推送回机器A上的源存储库:

git push master origin

这很好; 在机器B上,输出git remote show origin显示原点是最新的:

$ git remote show origin
* remote origin
  Fetch URL: ssh://username@remote.host/path/to/repo
  Push  URL: ssh://username@remote.host/path/to/repo
  HEAD branch: master
  Remote branch:
    master tracked
  Local ref configured for 'git push':
    master pushes to master (up to date)
Run Code Online (Sandbox Code Playgroud)

但是,当我去机器A做一个时git status,我看到我刚刚推动的所有变化现在都被淘汰了!

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
# …
Run Code Online (Sandbox Code Playgroud)

git dvcs

1
推荐指数
1
解决办法
178
查看次数

.hg文件夹是否需要驻留在工作目录中?

我是Mercurial的新手.我想知道是否有办法将.hg文件夹移动到工作目录以外的其他位置并仍然监视更改?

例如,

I have the .hg in /foo/.hg/*
Can I move it to  /bar/.hg/* and still monitor the contents of foo?
Run Code Online (Sandbox Code Playgroud)

编辑:我对工作目录很偏执.我有Dropbox备份我的Mercurial存储库.但是.hg文件夹对我的Dropbox来说太大了

version-control mercurial dvcs

1
推荐指数
1
解决办法
619
查看次数

单独项目的GIT GUI:用于开发的Windows PC,但在LAN无头Linux服务器上的git + active,工作项目repo?

我刚刚第一次为个人项目安装了git - 现在我不知道如何在没有版本控制的情况下长时间生活.我想看看GUI是否有用,但我有一个问题......

  • 我的开发机器正在运行Windows
  • 该项目位于局域网上的无头Linux服务器上
  • 项目目录通过samba共享,并映射为Windows PC上的网络驱动器
  • 我是唯一使用此服务器的人,因此无需将repo克隆到windows pc
  • 如果我通过SSH使用git,这根本不是问题

到目前为止,我尝试过的GUI git客户端都假设我在我安装它们的机器上运行git.如果我尝试使用widnows安装的git对linux托管的repo进行操作,那么它(并非出乎意料地)就像糖蜜一样慢,并且似乎存在兼容性问题.

有没有办法让这个工作为smartgit?还是其他任何体面的客户?

我确实安装了gitweb,它看起来很好看,可以查看项目历史记录,但实际上我无法用它做任何事情.

编辑:如果我可以扩大这个问题,只是要求就如何进行提出建议,即:吸收它并使用Putty与其他东西进行可视化,克隆回购和推/拉,或做一些不同的事情,如svick's X服务器建议.

git dvcs smartgit

1
推荐指数
1
解决办法
423
查看次数

断开版本控制

我的团队在断开模式下工作.即他们开发应用程序并在公司网络内部使用SVN来管理代码的版本控制.

我坐在客户办公室,无法从客户机器直接访问我公司的网络.我维护自己的SVN,每天检查从我的团队收到的代码丢弃,并对代码进行更改.

我在这种操作模式中面临两个问题.

  1. 如果我的团队删除/重命名某些文件,我只是将从我的团队收到的新代码粘贴到我的工作副本上.删除的文件仍保留在我的工作副本中.
  2. 为了避免问题一个..我让他们发给我补丁文件.补丁文件的成功率更高,但无法解决二进制文件问题.因此,如果我的团队在代码库中添加了新的images/xls模板等,我不会通过补丁文件获取它们.2.

因此,我开始觉得两个断开连接的SVN存储库不适合我的情况.

  • 你们之前有过这种情况吗?
  • 你做了什么?
  • SVN中有什么东西可以帮助我吗?
  • 或者是否有另一个版本控制系统可以帮我解决这个问题?
  • 如果是,您能指点我在VCS中的相关命令吗?

免费替代品是首选.

svn git version-control mercurial dvcs

1
推荐指数
1
解决办法
383
查看次数

如何用Bazaar大量标记文件?

我已将3个文件 bazaar下的顶级文件夹工作副本移动到新目录中. Bazaar给我看了这个屏幕.Project

移动文件后的Bzr概述

现在,我想将每个文件标记为已移动.可以通过一个文件执行此文件 - 通过选择缺少的文件,新文件,然后单击标记移动. 标记为一个文件的移动示例

但是不可能对所有文件大规模地执行此操作.
屏幕截图只是一个例子,在我的真实项目中,我有~40个文件.
有没有想过为所有文件做这个?


使用接受的答案编辑:
在TBZR>运行命令并使用:bzr mv --auto 接受的答案

version-control dvcs bazaar tortoisebzr

1
推荐指数
1
解决办法
220
查看次数

GIT:还原最后一次提交?

我用哪个命令来恢复上次提交所做的更改?提交已被推送到远程服务器.

git version-control dvcs undo

1
推荐指数
1
解决办法
1947
查看次数

将已提交的变更集转换为Mercurial中未提交的更改

有没有办法将单个提交(例如我的本地存储库中的tip更改集)转换为工作目录中未提交的更改?
我知道hg strip删除指定的变更集并将其备份,但它是否将这些变更集转换为工作目录中的未更改变更?

编辑:

关于使用 hg rollback.

如果我想要做之前有未提交的更改怎么办hg rollback?我必须先付款吗?最后几次提交怎么样?顺序hg rollback堆栈是否会从这些提交更改为现有的未提交更改?

version-control mercurial dvcs

1
推荐指数
1
解决办法
1337
查看次数

git提交完整性

我试图搜索git commit包含的内容以及commit的sha hash中的哪些部分.但是我可能会问错误的单词而我什么也没找到.

我想知道什么是承诺.我读了一下社区书,有以下图片:

在此输入图像描述

但是我认为提交的字段多于图像中显示的字段.

现在主要的问题是:什么字段参与提交sha hash?我问这是因为我在不同的存储库中有两个提交具有相同的sha哈希,但具有不同的父提交.在此之前我认为两个提交可能具有相同的sha哈希,如果它们是相同的并且具有相同的父提交.所以我有点困惑.

我有两个本地存储库(git1,git2),一个是其他的克隆.

GIT1

commit 4f438f9579939312689eb67e5fb7957d87cfa036 <-- this commit
Author: Michael Nesterenko <misha@gmail.com>
Date:   Mon Jun 25 00:00:31 2012 +0300

    stuff after change

commit e91e833158bb44f54f418cc5c3e1832452051428
Merge: dc69dc2 0b5912b
Author: Michael Nesterenko <misha@gmail.com>
Date:   Mon May 7 02:09:18 2012 +0300

    Merge branch 'master' of e:/temp/git2

    Conflicts:
        file.file

commit 0b5912bd1a1cb9b78410fe5c0dc67845ca1deec5
Author: Michael Nesterenko <misha@gmail.com>
Date:   Mon May 7 02:06:46 2012 +0300

    c8

commit dc69dc25a1e0c9067cbca19fe6a1d078a19138a0
Author: Michael Nesterenko <misha@gmail.com>
Date:   Mon May 7 02:06:29 2012 +0300

    c7

commit …
Run Code Online (Sandbox Code Playgroud)

git dvcs

1
推荐指数
1
解决办法
156
查看次数

理解git - 为什么甚至在本地提交?

我知道commit vs push(本地vs远程repo)之间的区别

我来自SubVersion背景:为什么甚至可以选择提交"本地"?那是什么意思?只是总是提交到远程存储库是不是有意义?

我不明白为什么我们有这个中间本地存储库?

git version-control dvcs

1
推荐指数
1
解决办法
83
查看次数

Git - 可以添加标签并将其作为提交吗?正如Mercurial一样

当我使用Mercurial时,我曾经将标记作为提交 - 至少在TortoiseHG中,它在添加标记时创建了一个提交.当我尝试使用Git时,我很失望 - 它没有为标记创建提交,而且 - 当我从Intellij IDEA提交时,我必须选中一个复选框来将标记提交到存储库.是否可以在Git中添加标签,并将其作为提交,与Mercurial完全相同?非常感谢你的每一个答案.

git mercurial dvcs git-tag

0
推荐指数
1
解决办法
93
查看次数