我只是藏在一个我没有犯下的项目中。 在我藏起来之前,有没有办法回到这个状态呢? 我怎么能这样做? 我closures了terminal,我的笔记本电脑被closures了。 我已经做了一些调查,似乎没有办法做到这一点。
我在我的GitHub帐户上工作了一个存储库,这是我偶然发现的一个问题。 Node.js项目与安装了几个npm软件包的文件夹 这些包在node_modules文件夹中 将该文件夹添加到git存储库,并将代码推送到github(当时没有考虑npm部分) 意识到你并不需要这个文件夹成为代码的一部分 删除该文件夹,推送它 在这种情况下,总的git回购的大小大约是6MB ,实际的代码(除了那个文件夹之外)只有大约300KB 。 现在我最终要找的是从git的历史中删除这个包文件夹的细节,所以如果有人克隆它,他们不必下载6mb的历史logging,只有他们将获得的实际文件截至上次提交将是300KB。 我查找了可能的解决scheme,并尝试了这两种方法 从git存储库中删除文件(历史logging) http://help.github.com/remove-sensitive-data/ https://gist.github.com/1588371 Gist看起来好像是在脚本运行后的地方,它显示它已经删除了那个文件夹,然后显示出50个不同的提交被修改了。 但是它不让我推这个代码。 当我试图推动它时,它说Branch up to date但是显示50个提交在git status被修改。 其他两种方法也没有帮助。 现在,即使它显示它摆脱了该文件夹的历史logging,当我检查我的本地主机上的回购大小,它仍然是6MB左右。 (我也删除了refs/original文件夹,但没有看到回购的大小的变化)。 我要澄清的是,如果有办法摆脱不仅提交历史(这是我认为发生的唯一的事情),而且还有那些git保持假设想要回滚的文件。 可以说一个解决scheme是为此提出的,并应用在我的本地主机,但不能被转载到该GitHub回购,是否有可能克隆回购,回滚到第一次提交执行的技巧和推它(或这是否意味着git会还有所有这些提交的历史? – 也就是6MB)。 我的最终目标是基本上find摆脱git的文件夹内容的最佳方式,以便用户不必下载6MB的东西,仍然可能有其他提交从未触摸模块文件夹(这很漂亮很多都是)git的历史。 我怎样才能做到这一点?
我是git和GitHub的新手。 我设法在Mac上本地设置所有东西,现在我可以通过git (在命令行上,而不是在Mac上)将提交信息提交给GitHub。 当我直接从GitHub网页界面提交提交(例如,快速修复错字)时,我有机会“评论”提交,而GitHub提供了一个提交标题和一个提交描述 。 我觉得这非常有用。 不过,当我从本地机器git push , git打开我的默认编辑器:所以我写的提交评论,然后GitHub自动将它分为标题和“身体”。 有没有办法从terminal提交漂亮的评论呢?
我在Windows中使用Git,并希望通过一个提交将可执行shell脚本推入git repo。 通常我需要做两个步骤( git commit )。 $ vi install.sh $ git add install.sh $ git commit -am "add new file for installation" # first commit [master f2e92da] add support for install.sh 1 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 install.sh $ git update-index –chmod=+x install.sh $ git commit -am "update file permission" # […]
Git合并允许我们执行快速前进,没有快速前进分支合并。 任何想法何时使用快进合并,何时不使用快进合并?
我有一个项目托pipe在GitHub上,有人分叉。 在他们的fork上,他们创build了一个新的分支“foo”,并做了一些修改。 我如何将他们的“foo”拖入我的回购中也被命名为“foo”的新分支? 我知道他们可以向我提交一个请求,但我想自己发起这个过程。 假设如下: 因为他们分出了我的项目,我们的这两个回购项目都有相同的“历史” 虽然GitHub显示他们的项目是从我的分支,我的本地存储库没有任何引用这个人的项目。 我是否需要将它们添加为远程? 我还没有一个名为“富”的分支 – 不知道如果我需要手动创build这个第一或什么。 我绝对想把这个拉进一个单独的分支,而不是我的主人。 我希望这是有道理的。
我有我的项目源文件夹。 我怎样才能把这个项目推到Github的仓库? 我试过使用这个步骤: 我在GitHub上创build了空的存储库。 我运行git-bash并inputgit init ,所以在项目根目录下出现.git文件夹。 我使用git add sourcesFolderName添加了一些文件到版本控制 我在前面的步骤中使用git commit -m "initial commit" 我指定远程存储库使用git remote add MyProject <url> 最后git push ,但没有推到远程repo …(没有授权失败) 那么,我怎样才能将现有的资源推入新创build的github回购?
当使用-p模式的git add -p或者git stash -p每个字母代表什么? 我猜你是肯定的,而且n不是。 剩下的是什么? [Y,N,Q,A,d,/,K,J,J,G,E,?]
有没有告诉Git推送当前跟踪分支的捷径? 注意:我知道我可以更改默认的推送行为 ,但是我正在寻找一种不改变默认行为的临时解决scheme。 例如,假设我正在使用分支feature/123-sandbox-tests git push origin feature/123-sandbox-tests 这是乏味的。 我正在寻找一个快捷方式,就像 git push origin current git知道当前是feature/123-sandbox-tests 。 编辑 :从版本2.0开始,git的默认行为已经变成了一个更直观的行为,这就是我想要实现的。 看到这个问题的细节。 编辑2 : ceztko的答案是最好的答案,因为它允许推动当前的分支,不pipe设置。
我可以对GitHub上的其他要点提出请求吗? 我意识到我拥有的要点的fork,clone和commit工作stream程。 我想知道我是否可以请求用我的叉子更新别人的要点。