javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

git从github远程仓库导出

我想从github远程存储库中导出,而不是克隆它。 类似于svn导出,我不想获得.git文件夹。 我可以通过克隆并删除.git文件夹来解决此问题。 我想知道是否有一种更清洁的方法?

我在某个地方可以使用git archive来阅读它。

但是我遇到了以下错误。

$ git archive --format=tar --remote=git@github.com:xxx/yyy.git master | tar -xf -

Invalid command: 'git-upload-archive 'xxx/yyy.git''
You appear to be using ssh to clone a git:// URL.
Make sure your core.gitProxy config option and the
GIT_PROXY_COMMAND environment variable are NOT set.
fatal: The remote end hung up unexpectedly

任何帮助都会很棒。 谢谢。

trans by 2020-07-11T05:10:51Z

使用git将多个更改分解为单独的提交?

如果我对一个大文件进行了多组更改,是否可以使用git将它们分成单独的提交?

trans by 2020-07-10T23:38:46Z

git push:权限被拒绝(公钥)

我正在尝试将文件推送到朋友的git repo中,但是公共密钥出错。

git push origin testbranch
Permission denied (publickey).
fatal: Could not read from remote repository.

我们在哪里以及如何定义公钥/私钥?

git remote -v返回:

origin  git@github.com:Sesamzaad/NET.git (fetch)
origin  git@github.com:Sesamzaad/NET.git (push)

任何帮助表示赞赏。

trans by 2020-07-10T20:38:40Z

git相当于svn status -u

等于svn status -u或更多详细的svn status --show-updates的git是什么。svn status --show-updates命令显示svn update命令将从服务器带来的更新。

谢谢!

trans by 2020-07-10T10:54:31Z

具有完整历史记录的Linux内核“历史” git存储库

我认为许多开发人员喜欢在git gui blame的帮助下调查源代码。正如针对Linux-2.6.12-rc2的提交中所解释的(也反映在Github上),为此,它需要具有特殊的历史Linux存储库。

Linux-2.6.12-rc2

初始git仓库构建。 我不介意完整的历史记录, 即使我们有它。 我们可以创建一个单独的“历史” git 如果我们愿意,可以稍后将其存档,与此同时, 导入git时为3.2GB,这将使早期 git的日子不必要地复杂,当我们没有很多好处时 基础设施。

让它撕裂!

我查看了许多准备好的历史存储库,但是没有找到包含自零版本起的更改的存储库,因此我放弃了,并在这里提出了这个问题。

trans by 2020-07-10T09:57:49Z

为什么我不能在Windows上使用TortoiseMerge作为我的git合并工具?

我正在尝试执行我的第一次Git合并(令人兴奋!),但是无法在Windows 7上让Git Gui(Git 1.7.4.msysgit.0的0.13.GITGUI)识别TortoiseMerge(1.6.11.20210 x64)。 基于对类似问题的回答,我进行了以下配置更改:

$ git config --global merge.tool tortoisemerge
$ git config --global mergetool.tortoisemerge.cmd 'TortoiseMerge.exe -base:"$BASE" -mine:"$LOCAL" -theirs:"$REMOTE" -merged:"$MERGED"'
$ git config --global --list
...snip...
merge.tool=tortoisemerge
mergetool.tortoisemerge.cmd=TortoiseMerge.exe -base:"$BASE" -mine:"$LOCAL" -theirs:"$REMOTE" -merged:"$MERGED"
$

不幸的是,当我启动Git Gui并尝试“运行合并工具”时,收到错误git mergetool

谁能告诉我我做错了什么? 这是我的git mergetool的相关部分:

[merge]
        tool = tortoisemerge
[mergetool "tortoisemerge"]
        cmd = TortoiseMerge.exe -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\"

更新资料

从命令行运行git mergetool时,TortoiseMerge在上述配置下工作正常。 看来只有Git Gui才有问题。 :-/

trans by 2020-07-10T06:16:21Z

在提交之前准备git commit消息?

是否可以在提交之前准备提交消息,这意味着我将在实际提交之前或在工作目录中键入提交消息,以使我知道自己在做什么,并且知道该分支或提交将是什么 关于。 当我说“之前”时,我并不是说在命令行上输入提交前几秒钟。 我的字面意思是在提交之后或分支的开始处,以便下次提交将自动继承队列中的消息或可能调用的消息。

当然,我可以在提交过程中放置这些消息,这对我来说是有区别的。 而且我可以看到,关于well git的说法也不是这个意思。 我对此很好奇。

我也知道我可以给分支赋予更多有意义的名称,但我只想为此留一点空间。

trans by 2020-07-10T01:52:42Z

bash-如何以编程方式确定Git签出是否为标签,如果是,标签名是什么

在Unix或GNU脚本环境(例如Linux发行版,Cygwin,OSX)中,确定当前签出是否为Git标签的最佳方法是什么。 如果是标签,如何确定标签名称?

该技术的一种用途是自动标记发布(如svnversion将对Subversion进行标记)。

请参阅有关以编程方式检测Git分支的相关问题。

trans by 2020-07-10T01:07:10Z

git-如何在GitLab中创建发行版?

我创建了一个私有存储库,然后将其更改为公共存储库。 但是,我找不到任何释放方式。 是否可以在GitLab中创建发行版? 如果是这样,他们如何做?

trans by 2020-07-09T14:13:29Z

git-意外地从错误的分支分支出来,当我想合并到master时,我必须合并两个分支

因此,我从已经创建的另一个分支中创建了一个分支,现在当我尝试将这些分支合并到master中时,遇到了必须合并两个分支的情况。

这是一个图

大师->

 ->Branch 1  -> Branch 2

我希望能够只将分支2上的更改合并到master上,而不必合并分支1上的更改。 我查看了重置和还原,但似乎这些事情将删除我对分支2所做的所有更改。

谢谢

trans by 2020-07-09T13:15:19Z

gitignore-Git:忽略版本控制的文件

.gitignore文件在忽略某些我们不想控制的文件时非常有用。 不幸的是,当文件已经在版本控制下时,不能使用它。 例如,我的.gitignore(已添加到git)文件可能不同于我的同事希望的文件(例如,我想忽略Vim文件)。 每当我对此文件进行更改时,git都会将其显示为修改后的文件。 所以我的问题是:

  1. 是否有任何方法可以忽略某个已由Git控制的文件的更改?
  2. 有什么方法可以提交这些更改,但只能自己保存吗? 显然,我不想使用分支,因为我正在某个分支上工作。
trans by 2020-07-09T03:16:32Z

git-用于自动版本化的Gradle脚本,并在Android中包含提交哈希

我需要编写gradle脚本以在每次提交时自动对应用程序进行版本控制。 我还需要在测试人员的应用程序中包括提交哈希作为参考。

我对自动版本控制通常如何工作感到困惑。 有人可以解释自动版本化过程吗?

trans by 2020-07-08T15:00:31Z

git commit-将时间戳记设置为将来

我需要使用Git进行一些提交,但我希望git-log中的时间戳记在将来。

如何在git中进行提交,从而导致将来的时间戳记在git-log中注册?

trans by 2020-07-08T14:49:35Z

git如何处理文件夹权限?

我正在使用git版本1.5.6.3,看来git并未注意到文件夹的模式更改

#create a test repository with a folder with 777 mode
:~$ mkdir -p test/folder
:~$ touch test/folder/dummy.txt
:~$ cd test
:~/test$ chmod 777 folder/

#init git repository
:~/test$ git init
Initialized empty Git repository in ~/test/.git/
:~/test$ git add .
:~/test$ git commit -m 'commit a directory'
Created initial commit 9b6b21a: commit a directory
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 folder/dummy.txt

#change folder permission to 744
:~/test$ chmod 744 folder/
:~/test$ git status 
# On branch master
nothing to commit (working directory clean)

04000代表什么?

:~/test$ git ls-tree HEAD folder
040000 tree 726c1d5f0155771348ea2daee6239791f1cd7731    folder

这是正常行为吗?

如何跟踪文件夹模式更改?

trans by 2020-07-08T12:49:15Z

如何使用git将文件从一个分支复制到另一个分支?

我有一个带有两个分支的git存储库:mastergh-pages。如果我想将文件foomaster复制到gh-pagesgh-pages,而不合并它们。 我应该使用什么命令? 非常感谢。

trans by 2020-07-08T03:57:30Z

版本控制-对于旧的git分支,摆脱“ ...未指向有效对象”

我有一个Git存储库的分支,我的克隆似乎有一个旧的,不再存在的分支问题。 我一直看到此消息:

error: refs/heads/t_1140 does not point to a valid object!

我没有其他消息,该回购协议工作正常。 没有任何操作可以阻止我在其他分支机构上工作,推送更改,提取...等。

我环顾四周,关于如何解决此问题的说明不多。 我尝试执行.git/config,但没有看到错误。 只是.git/refs/heads条消息的负载。

我还检查了我的.git/config,并且没有对该分支的引用,并且也检查了.git/refs/heads,也没有对t_1140的引用

任何想法如何摆脱这个错误?

ps我试图再次克隆我的仓库,似乎错误也是我的Github仓库。 因此,我现在唯一能想到的就是抛弃我的存储库并再次进行分叉。

trans by 2020-07-08T03:46:28Z

github-git pull error“所请求的URL在访问时返回错误:503”

我最近在访问git存储库时遇到了问题。 之前它工作得很好,但是现在我无法在CLI上运行任何命令。 但是,我可以访问相应的网页,有人可以帮助我如何解决此问题?

trans by 2020-07-08T01:38:55Z

git rebase和git merge --ff-only之间是否有区别

从我的阅读中,他们两个都有助于我们获得线性历史。

根据我的实验,变基一直都在起作用。 但是merge --ff-only仅在可以快速转发的情况下有效。

我还注意到,git merge创建了一个合并提交,但是如果我们仅使用--ff,它将给出一个线性历史记录,基本上等于git rebasing。 所以--ff-only杀死了git merge的目的,对吗?

那么它们之间的实际区别是什么?

trans by 2020-07-08T00:52:53Z

git推到远程分支

我试图关注这篇文章,但感到困惑而不是解决问题。

这是场景。

我创建了一个类似于<branch_name>的分支。然后我进行了一些更改并做了

  1. <branch_name>
  2. <branch_name>

现在所有这些更改都在我未提交的本地<branch_name>分支中。 我想做的就是将这些更改向上游推送,但是我想将其推送到一个不存在的分支,例如<branch_name>_test

我不想将其推送到我的<branch_name>。我该怎么做。

trans by 2020-07-07T22:13:15Z

git rebase基础

我最近开始使用8 and 6,但不是100%肯定我做对了。 出于问题的考虑,起源有两个分支pull --rebasenext,它们是从master分支的。

自从两者之间的最后一次同步以来,8 and 6有2次提交和pull --rebase 6:

$ git log --oneline origin/next..origin/master
59b5552 master commit #2
485a811 master commit #1

$ git log --oneline origin/master..origin/next
4ebf401 next commit #6
e9b6586 next commit #5
197ada0 next commit #4
4a2c3c6 next commit #3
040a055 next commit #2
84537bf next commit #1

当我结帐8 and 6并执行pull --rebase时,得到以下信息:

$ git status
# On branch next
# Your branch and 'origin/next' have diverged,
# and have 8 and 6 different commits each, respectively.

最后在执行8 and 6之后,来自pull --rebase的两个提交在next中:

$ git log --oneline origin/next..next 
8741d09 master commit #2
485a811 master commit #1

问题:

  1. 这是正确的方法吗?
  2. 在运行pull --rebase之前,为什么会有8 and 6个不同的提交?
  3. 是否可以简化流程?

多谢 :)

trans by 2020-07-07T15:33:36Z

上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共134页