Tag: git新

Bare和非Bare存储库之间的实际区别是什么?

我一直在阅读关于Git的裸和非裸/默认存储库。 我理解不了它们之间的差异,为什么我要“推”到一个裸仓库。 这是交易: 目前,我是唯一一个在三台不同计算机上工作的项目,但后来会有更多人参与,所以我使用Git进行版本控制。 我克隆所有计算机上的裸回购,当我完成对其中一个计算机的修改时,我承诺并将更改推送到裸回购。 从我读过的内容来看,裸仓库没有“工作树”,所以如果我克隆裸仓库,我就不会有“工作树”。 我猜测工作树存储了项目中的提交信息,分支等。 这不会出现在裸回购。 所以对我来说,用工作树“推”提交到回购库似乎更好。 那么, 为什么我应该使用裸仓库,为什么呢? 有什么实际的区别? 我想,这对于更多从事项目工作的人是没有好处的。 你做这种工作的方法是什么? build议?

我如何“解除”已恢复的Git提交?

给定使用commit的更改,然后使用revert进行revert ,然后撤消恢复的最佳方法是什么? 理想情况下,这应该用新的提交来完成,以免重写历史。

validationGithub私有存储库的Jenkins CI

我想Jenkins自动从Github上托pipe的私有存储库中获取数据。 但我不知道如何完成这项任务..试了一下文档,为jenkins用户生成ssh-key,以及我所能看到的一切:“无法克隆回购”。 我检查过url – 它们是有效的。 任何线索,也许你知道一些文档/博客/无论是描述这种东西?

在github中处理密码的最佳做法是什么?

我有一个Bash脚本,用于访问twitter并在特定情况下popup一个Growl通知。 什么是最好的方式来处理与脚本存储我的密码? 我想在GitHub上发布这个脚本,但是我想知道在这样做的时候保持我的login名/密码是否是私有的最好方法是。 目前密码保存在脚本本身中。 我推不动,因为所有旧的提交将包含密码。 没有密码的开发不是一种select。 我想我应该把密码存储在一个外部configuration文件中,但是我想在我尝试并把一些东西放在一起之前,检查是否有一个确定的方法来处理这个问题。

'git pull origin mybranch'留下本地mybranch N提交原点之前提交。 为什么?

我只是观察到一些关于git pull东西,我不明白。 星期五,我在当地的一家分店工作。 让我们称之为mybranch 。 在离开办公室之前,我把它推到了原点(这是我的github回购): git push origin mybranch 。 昨天在家里,我pull我的笔记本电脑pull我的笔记本电脑上,做了一些更多的编码,然后把我的修改推回给github(原籍)。 现在我又在工作了,并且试图从昨天把改变拉到我的工作机器上(周末我在工作场所的本地回购中没有改变任何东西): git pull origin mybranch 这导致了一个快速的前进合并,这很好。 然后我做了一个git status ,它说: # On branch mybranch # Your branch is ahead of 'origin/mybranch' by 6 commits. # nothing to commit (working directory clean) 咦? 当我连周末都没有碰到它的时候,怎么可能会提前6分钟,刚从原点拉出来呢? 所以我运行了一个git diff origin/mybranch ,差异恰恰是我从远程获取的6个变化。 我只能通过运行git fetch origin “解决”这个问题: From git@github.com:me/project af8be00..88b0738 […]

“git fetch -tags”包含“git fetch”吗?

一个不错的和简单的问题 – 是“git fetch” git fetch –tags集的git fetch –tags吗? 也就是说,如果我运行git fetch –tags ,是否有任何理由立即直接运行git fetch ? 怎么样git pull和git pull –tags ? 同样的情况?

如何在gnome-keyring集成中使用git

Git 1.8.0支持与gnome-keyring的集成。 http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html 在阅读关于git证书助手的文档之后: http : //git-scm.com/docs/gitcredentials.html 我无法find使用这个新function的方法。 我如何整合它? 我使用Archlinux的仓库中安装的git。 (git 1.8.0)

如何在CentOS 6.x / 7.x上安装最新版本的git

我用平时: yum install git 但是它并没有在我的CentOS 6.4上安装最新版本的git。 那么,我怎样才能更新到CentOS 6.4的最新版本呢? 注意: 该解决scheme可适用于其他新发行的CentOS版本,例如CentOS 7.x。

删除特定的提交

我正在和一个朋友一起在一个项目上工作,他编辑了一些本不应该被编辑的文件。 不知何故,我把他的工作合并到了我的工作中,无论是当我拉我的工作,还是当我试图挑选出我想要的特定文件时。 我一直在寻找和玩了很长时间,试图找出如何删除包含对这些文件进行编辑的提交,似乎是回退和rebase之间的折腾,并没有直截了当的例子,文档假设我知道比我更多。 所以这是一个简化的问题: 鉴于以下情况,我如何删除提交2? $ mkdir git_revert_test && cd git_revert_test $ git init Initialized empty Git repository in /Users/josh/deleteme/git_revert_test/.git/ $ echo "line 1" > myfile $ git add -A $ git commit -m "commit 1" [master (root-commit) 8230fa3] commit 1 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 myfile $ echo "line […]

部分樱桃挑选与git的提交

我正在研究2个不同的分支: 发布和开发 。 我注意到我仍然需要将已经提交给release分支的一些更改集成到开发分支中。 问题是我不需要所有的提交,只有某些文件中的某些macros,所以很简单 git cherry-pick bc66559 并没有做到这一点。 当我做一个 git show bc66559 我可以看到差异,但是并不知道将其部分应用于当前工作树的好方法。 任何build议将非常欢迎!