Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
我能用git拉一棵脏树吗?_Git - Fatal编程技术网

我能用git拉一棵脏树吗?

我能用git拉一棵脏树吗?,git,Git,我有一个构建系统,我用它来测试我目前正在处理的代码。我希望构建脚本尽快从我工作站的git repo中提取当前代码 我希望能够快速从origin/master中提取任何更改以及任何修改过的文件 根据定义,修改后的文件基本上不会被跟踪。(未提交的修改是未提交的。)如果您有访问权限,当然可以直接复制工作树,但是如果您想拉它,则需要提交它。当然,你可以将它提交给一个临时分支,但无论如何,它必须被提交 编辑:这个答案是关于用git拉。如果您想像OP的回答中那样复制文件(或复制差异),您可以这样做,但底线是

我有一个构建系统,我用它来测试我目前正在处理的代码。我希望构建脚本尽快从我工作站的git repo中提取当前代码


我希望能够快速从origin/master中提取任何更改以及任何修改过的文件

根据定义,修改后的文件基本上不会被跟踪。(未提交的修改是未提交的。)如果您有访问权限,当然可以直接复制工作树,但是如果您想拉它,则需要提交它。当然,你可以将它提交给一个临时分支,但无论如何,它必须被提交


编辑:这个答案是关于用git拉。如果您想像OP的回答中那样复制文件(或复制差异),您可以这样做,但底线是这是一个需要文件系统访问的操作,而不是git远程操作。

根据定义,修改的文件基本上不会被跟踪。(未提交的修改是未提交的。)如果您有访问权限,当然可以直接复制工作树,但是如果您想拉它,则需要提交它。当然,你可以将它提交给一个临时分支,但无论如何,它必须被提交


编辑:这个答案是关于用git拉。如果您想像OP的回答中那样复制文件(或复制差异),您可以这样做,但底线是,这是一个需要文件系统访问的操作,而不是git远程操作。

首先提取提交的更改,然后提取未提交更改的差异

git pull
ssh me@my-dev-box bash -c "cd && cd svn && git diff HEAD /home/aulfeldt/svn" | patch -p1

首先提取提交的更改,然后提取未提交更改的差异

git pull
ssh me@my-dev-box bash -c "cd && cd svn && git diff HEAD /home/aulfeldt/svn" | patch -p1

你的问题很不清楚。你到底想干什么?也许可以解释为什么git pull origin master不适用于您。git pull origin master提取所有已提交的更改,而不是尚未提交的更改。您的问题非常不清楚。你到底想干什么?也许可以解释为什么
git pull origin master
不适用于您。git pull origin master会提取所有已提交的更改,而不是尚未提交的更改。要包含暂存文件,请根据HEAD而不是索引进行区分。请注意,除了我在回答的评论中提到的限制之外,这需要壳牌公司访问相关回购协议。这与通常设置共享存储库的方式完全相反-裸存储库,并且只能通过git-shell访问。要包含暂存文件,请使用头而不是索引进行区分。请注意,除了我在回答中的评论中提到的限制之外,这还需要shell访问相关的回购。这与通常设置共享存储库的方式完全相反——裸存储库,只能通过git-shell进行访问。使用git提取提交的更改,然后再提取差异更有效。在拉动之前,没有必要进行更改(见我的答案)@Arthur Ulfeldt:这真的取决于你所说的“更高效”是什么意思。这意味着您必须拥有一个可公开访问的非裸回购协议,并立即与其所有者进行沟通,以便知道它何时处于适合您修改拉取的正确状态,而不是让他们通过提交它来将某个状态标记为准备好(不稳定、测试)拉取。承诺是有目的的,我保证,如果结果不是你想要的,他们很容易被吹走。噢,投反对票?严格地说,我的答案是正确的,即使有可能绕过git并以这种方式进行拉取。在这种情况下,我开始构建,因此协调不是真正的问题。关于不能只用git来做这件事,您似乎是对的。使用git来拉提交的更改,然后再拉差异,效率更高。在拉动之前,没有必要进行更改(见我的答案)@Arthur Ulfeldt:这真的取决于你所说的“更高效”是什么意思。这意味着您必须拥有一个可公开访问的非裸回购协议,并立即与其所有者进行沟通,以便知道它何时处于适合您修改拉取的正确状态,而不是让他们通过提交它来将某个状态标记为准备好(不稳定、测试)拉取。承诺是有目的的,我保证,如果结果不是你想要的,他们很容易被吹走。噢,投反对票?严格地说,我的答案是正确的,即使有可能绕过git并以这种方式进行拉取。在这种情况下,我开始构建,因此协调不是真正的问题。你似乎是对的,仅仅用git无法做到这一点。