Questions tagged «git»

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

8
如何使用'git rebase -i'重新设置分支中的所有更改?
这是一个例子: >git status # On branch master nothing to commit (working directory clean) >git checkout -b test-branch >vi test.c >git add test.c >git commit -m "modified test.c" >vi README >git add README >git commit -m "modified README" 现在,我想做一个' git rebase -i',让我重新分配该分支的所有提交。是否存在类似“ git rebase -i HEAD~MASTER”或类似内容。我认为我可以做' git rebase -i HEAD~2',但是我真的不想数已提交的次数。我也可以做' git …
70 git 


2
自重新启动基准以来,中止了旧的git重新基准并丢失了提交
废话!大约一周前,我在尝试清理存储库时重新提交了一些提交,显然我并没有真正完成它。今天,一个星期后又提交了几个提交,我去重新设置了基础,以重新安排从今天开始的几个提交,它告诉我我已经处于重新设置的中间。 以防万一,这应该是复制我的仓库的提示。但是我没有……相反,我跑了git rebase --abort,当时听起来不错。好吧,那是不对的。它终止了一周前的重新设置,并将主服务器的HEAD重置为旧的。假! 我还有其他一些分支机构,这些分支机构是最近的,并且已经多次推送到远程站点,但是最新的更改似乎永远消失了。我没有适当级别的git-fu,无法知道是否有任何方法可以恢复我的更改。 我搞砸了吗? 编辑-哇!多谢你们!git reflog太棒了!我完全康复了...教训。标记Tchalvak的答案被第一个发布。
70 git  git-rebase 

7
无法在Windows上使用cygwin启动git gui
我以前在cygwin控制台中启动git gui时没有任何问题,但是自从我更新cygwin以来,我收到以下错误消息: $ git gui Application initialization failed: no display name and no $DISPLAY environment variable Error in startup script: invalid command name "tk_messageBox" while executing "tk_messageBox -icon error -type ok -title "git-gui: fatal error" -message $err" invoked from within "if {[catch {package require Tcl 8.4} err] || [catch {package …
70 git  cygwin  tcl  x11  tk 

9
一种限制Git分支访问的方法?
我的git仓库中有四个分支,使用GitHub进行管理: 生产 分期 主 [人名]-发展 有没有办法将写访问权限限制为仅一个分支([人的名字]-开发)?我该怎么做? 作为参考,有一个类似的问题:如何编写git钩子以限制写入分支?。
70 git  github 

4
Windows上的Git,“内存不足-malloc失败”
遇到存储库问题,并尝试了几乎所有可能的配置设置,例如。pack.WindowMemory等 我相信有人已经将一个大文件检入到远程存储库中,现在每次我尝试将其拉入或推入时,GIT都会尝试将其打包并耗尽内存: Auto packing the repository for optimum performance. You may also run "git gc" manually. See "git help gc" for more information. Counting objects: 6279, done. Compressing objects: 100% (6147/6147), done. fatal: Out of memory, malloc failed (tried to allocate 1549040327 bytes) error: failed to run repack 尝试了git gc和git …
70 windows  git 

4
在Git上将一组提交折叠成一个
我有进行大量小型提交的习惯,我对此表示满意。但是,我不时要使用一堆这些线性提交,并将它们折叠在一起,成为只有一次提交并能够编写新提交消息的功能。 我已经研究过文档,但对我来说似乎有点神秘。有人知道该怎么做吗?
70 git 

1
git-lfs文件存储在哪里?
我试图弄清楚如何使用git-lfs。我使用gitlab EE服务器。 也许我错过了一些东西,但是除了介绍“ track”命令和1分钟可爱视频的非常简短的教程之外,我找不到关于git-lfs的任何文档。 例如,我在回购中添加并跟踪一个3.7GB的tar文件,然后将其推送: git lfs track "*.tar" cp <a folder>/a.tar . git add a.tar git commit -m "add a.tar" git push origin master 问题1:在此过程结束时,a.tar是否已上传到gitlab服务器上?目前尚不清楚,因为“ add”和“ commit”命令花费了一些时间(也许还不够长,所以我想知道在这段时间内是否上载了3.7GB),但是推送根本没有花费任何时间(第二)。 问题2:如果文件已上传到服务器上,在哪里?显然与回购不在同一地点(这就是重点)。我问是因为正在备份服务器,所以我需要知道是否使用git-lfs要求我以任何方式进行更新。 问题3:如果未上传文件,这是否意味着存储库的其他用户将在添加文件的原始计算机上获得指向该文件的链接?有没有办法将其更改为服务器上的位置?(回到问题2) 问题4:克隆存储库后,确实不存在完整的3.4G文件,“仅”包含以下内容的文本文件: version https://git-lfs.github.com/spec/v1 oid sha256:4bd049d85f06029d28bd94eae6da2b6eb69c0b2d25bac8c30ac1b156672c4082 size 3771098624 这当然很棒,而且很重要。但是,如果需要访问整个文件怎么办?如何下载呢? 我很乐意直接回答这个问题或链接到正确的文档。
70 git  git-lfs 

5
强制git更新.gitignore
我有一个.gitignore文件,它正在忽略一些文件。我已经更新了.gitignore文件(删除了一些文件名并添加了一些文件名)。这没有反映在中git status。如何强制git更新这些更改,以便跟踪之前未跟踪的文件,反之亦然。 我已经试过这个问题,但仍然无法跟踪我的所有文件(根据我的更新.gitignore)。(简单来说,一旦.gitignore更新或删除,如何强制git撤回文件)。
70 git  gitignore 

4
开发分支与母版有很大不同时,管理修补程序?
我正在使用带有主分支和开发分支的“ Git Flow”分支模型。我正在开发一个主要的新版本,因此我的developer分支与我的master分支完全不同。每当我需要在master分支上进行修复并将其合并回developer中时,这都会造成问题。几乎总是有冲突,这正成为一种真正的痛苦。 最好的管理方式是什么?对我而言,手动更改开发中的较小修补程序会比较容易,然后在我准备好时将所有内容合并到master中,而无需将master重新合并到development中。这可能吗?
70 git  git-flow 


3
有什么方法可以使用.NET应用程序使用git?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 6年前关闭。 改善这个问题 如何从GitHub拉(也许也推)一些文件夹? 我的意思是我需要用于.NET的API才能在C#中访问,而不是用于git的GUI。
69 c#  .net  git 

7
Mac OS X上的Git和Umlaut问题
今天,我在Mac OS X上发现了Git的错误。 例如,我将提交一个名称为überschrift.txt的文件,开头是德国特殊字符Ü。从命令中,git status我得到以下输出。 Users-iMac: user$ git status On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # "U\314\210berschrift.txt" nothing added to commit but untracked files present (use "git add" to track) 看来Git 1.7.2在Mac OS X上的德语特殊字符有问题。是否有解决方案让Git正确读取文件名?
69 git  macos  versioning 

15
如何在svn和/或git中“取消版本”文件
它一直在我身上发生。我不小心对文件进行了版本控制,但我不想对其进行版本控制(例如,特定于开发人员/机器的配置文件)。 如果提交此文件,我将弄乱所有其他开发人员机器上的路径-他们将不满意。 如果我确实从版本管理中删除了文件,它将从其他开发人员的机器上删除-他们将不满意。 如果我选择从不提交文件,那么我总是有一个“脏”的结帐-我很不高兴。 是一种从版本控制“取消版本”文件的干净方法,这将导致没有人不满意吗? 编辑:尝试澄清一下:我已经将文件提交到存储库,并且只想从版本控制中删除它-我特别不希望从进行结帐的每个人中实际删除它。我最初希望它被忽略。 答:如果我可以接受第二个答案,那就是this。它回答了我关于git的问题-可接受的答案是关于svn。

6
Git远程/共享的预提交挂钩
有了一个正式的存储库作为远程存储库,并从中克隆了多个本地存储库,是否可以在该主存储库上编写预提交的钩子脚本并在其所有克隆上强制执行?
69 git  githooks 

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.