Questions tagged «git»

Git是一个开源的分布式版本控制系统(DVCS)。使用此标签可解决有关Git使用和工作流程的问题。不要仅仅因为存储库恰好托管在GitHub上而使用[github]标签来解决与Git相关的问题。另外,请勿对碰巧涉及Git储存库的一般编程问题使用此标记。

10
您如何使用“ git --bare init”存储库?
我需要创建一个中央Git存储库,但我有点困惑... 我创建了一个裸仓库(在我的git服务器上,机器2): $ mkdir test_repo $ git --bare init 现在,我需要将文件从本地存储库(计算机1)推送到裸存储库(计算机2)。我可以通过SSH访问计算机2。问题是我认为我不理解裸仓库的概念... 在裸存储库中存储代码的正确方法是什么?如何将更改从本地存储库推送到裸存储库? 具有中央存储库和裸存储库的正确方法是吗? 我对此主题有些困惑。请给我一个线索。
320 git 


30
gpg无法签署致命的数据:无法写入提交对象[Git 2.10.0]
我关注了Git 2.10发行说明中漂亮属性的几篇文章。经过将git升级到2.10.0并对global进行了更改,结果如下:.gitconfig [filter "lfs"] clean = git-lfs clean %f smudge = git-lfs smudge %f required = true [user] name = xyz email = abc.def@gmail.com signingkey = AAAAAAA [core] excludesfile = /Users/xyz/.gitignore_global editor = 'subl' --wait [difftool "sourcetree"] cmd = opendiff \"$LOCAL\" \"$REMOTE\" path = [mergetool "sourcetree"] cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" …

14
git:切换分支并忽略任何更改而无需提交
我正在git分支上工作,可以提交更改,因此我使用了有用的提交消息进行了提交。然后,我无意中对代码进行了微小的更改,这些更改不值得保留。我现在想更改分支,但是git给了我, 错误:您对“ X”进行了本地更改;无法切换分支。 我可以不提交就更改分支吗?如果是这样,我该如何设置?如果没有,我如何摆脱这个问题?我想忽略小的更改而不提交,而只更改分支。
318 git  branch  git-checkout 

8
从git / GitHub的历史记录中删除文件夹及其内容
我在GitHub帐户上的存储库上工作,这是我偶然发现的一个问题。 带有安装了几个npm软件包的文件夹的Node.js项目 包在node_modules文件夹中 将该文件夹添加到git存储库中,并将代码推送到github(当时不考虑npm部分) 意识到您并不需​​要该文件夹成为代码的一部分 删除该文件夹,将其推送 在那种情况下,总git repo的大小约为6MB,而实际代码(除该文件夹以外的所有代码)仅为300 KB左右。 现在,我最后要寻找的是一种从git的历史记录中删除该软件包文件夹的详细信息的方法,因此,如果有人对其进行了克隆,则无需下载价值6mb的历史记录,而只有这些文件才可以获取截至上一次提交将为300KB。 我为此找到了可能的解决方案,并尝试了这两种方法 从git存储库中删除文件(历史记录) http://help.github.com/remove-sensitive-data/ https://gist.github.com/1588371 Gist似乎在运行脚本后在哪里工作,它表明它删除了该文件夹,并表明修改了50个不同的提交。但这并没有让我推送该代码。当我尝试推动它时,它说Branch up to date但显示对50个提交进行了修改git status。其他2种方法也无济于事。 现在,即使显示它摆脱了该文件夹的历史记录,当我在本地主机上检查该存储库的大小时,它仍约为6MB。(我还删除了该refs/original文件夹,但没有看到存储库大小的变化)。 我要澄清的是,是否有一种方法不仅可以消除提交历史记录(这是我认为唯一发生的事情),而且可以摆脱那些git一直假设要回滚的文件。 可以说为此提供了一个解决方案,该解决方案已在我的本地主机上应用,但无法复制到该GitHub存储库,是否可以克隆该存储库,回滚到第一个提交执行该技巧并将其推送(或者这意味着git将还有所有这些提交的历史吗?-又名6MB)。 我的最终目标是从根本上找到从git摆脱文件夹内容的最佳方法,以便用户不必下载6MB的内容,而仍然可以拥有从未触及modules文件夹的其他提交(这很漂亮很多))在git的历史中。 我怎样才能做到这一点?
318 git  github  rebase  git-rebase 

12
如何在GitHub上重命名存储库?
我想在GitHub上重命名我的一个存储库,但是当一个大的红色警告说: 我们不会从旧位置设置任何重定向 您将需要更新本地存储库以指向新位置 重命名可能需要几分钟才能完成 是否有人有逐步说明如何手动完成#1和#2?还是我必须在当地做什么?
317 git  github  repository 



11
Git:如何压缩分支上的所有提交
我通过以下方式创建新分支master: git checkout -b testbranch 我做了20次提交。 现在,我要压缩这20个提交。我这样做: git rebase -i HEAD~20 如果我不知道有多少次提交怎么办?有什么办法可以做这样的事情: git rebase -i all on this branch

3
如何git-svn从Subversion仓库克隆最近的n个修订?
问题 如何从Subversion存储库中使用git-svn创建浅表副本,例如,如何仅提取最后三个修订版? git clone如果使用选项--depth,则该命令可以从Git存储库获取最新的n个修订版本,即,您可以获得存储库的浅表副本。例: git clone --depth 3 git://some/repo myshallowcopyrepo git-svn有类似的选择吗? 到目前为止我的发现 到目前为止,我只找到了-rN其中的选项N是修订拉。例: git svn clone -rN svn://some/repo 根据文档,有可能使用-r$REVNUMBER:HEAD。我尝试了以下操作,以获取返回错误消息的最后3个修订。 $ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo . revision argument: HEAD~3:HEAD not understood by git-svn 因此,我用HEAD~3第三个但最后一个修订版534的实际编号代替了。这行得通,但是这要求我首先弄清楚第三个但最后一次提交的修订版号。 $ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo . 文献资料 git克隆 git-svn

8
在已经跟踪大量文件的现有存储库上应用.gitignore
我的存储库中已有一个Visual Studio项目。我最近在我的项目下添加了一个.gitignore文件,我认为这告诉Git忽略该文件中列出的文件。 我的问题是所有这些文件已经被跟踪,据我所知,Git不会忽略在将规则添加到该文件之前已经被跟踪的文件而忽略它。 建议使用:git rm --cached并手动取消跟踪它们,但这将使我永远无法一一遍解它们。 我考虑过删除存储库并再次重新创建它,但是这次存在.gitignore文件,但是必须有更好的方法来执行此操作。
314 git  gitignore 

6
'git blame'是做什么的?
我看到了很多有关使用方法的问题git blame,但我不太了解它们。 我Blame在GitHub界面上的文件顶部看到一个按钮。单击它后,它在左侧栏上显示一些带有用户名的差异。这说明什么? git blame除了GitHub之外,为什么还要实际使用?
314 git  git-blame 

9
如何按日期在Git中结帐?
我正在源代码中进行回归。我想告诉Git:“根据参数化的日期/时间检出源”。这可能吗? 我还以我当前的观点上演了一些不想失去的变化。理想情况下,我想在当前来源和我之前感兴趣的某个版本之间来回切换。
314 git  git-checkout 


5
git pull和git pull --rebase之间的区别
有时我开始使用git,但并不完全了解其中的复杂性。我在这里的基本问题是找出a git pull和之间的区别git pull --rebase,因为添加--rebase选项似乎并没有太大不同:只是拉。 请帮助我理解区别。
311 git  git-pull 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.