提交GitHub.com
后,是否有任何在线编辑提交消息的方法?
从命令行,人们可以做到
git commit --amend -m "New commit message"
Run Code Online (Sandbox Code Playgroud)
正如另一个问题中的正确建议.
尝试git pull
然后git push
工作(没有任何其他提交在平均时间干扰).
但它可以通过GitHub
网站完成吗?
我总是发现checkin(commit)邮件非常有用,可以跟踪其他人在代码库/存储库中的工作.如何设置SVN以在每次提交时通过电子邮件发送通讯组列表?
我在Windows上运行客户端,在Linux上运行Apache Subversion服务器.以下针对各种平台的答案可能对其他人有用.
我的帖子提交挂钩在git之后没有运行.我已经验证了如果我从终端运行它,钩子确实有效.钩子中的代码是:
#!/bin/sh
#.git/hooks/post-commit
# An example hook script that is called after a successful
# commit is made.
#
# To enable this hook, rename this file to "post-commit".
perl -pi -e 's/([a-f0-9]+)$/'$( git rev-parse HEAD )/ ../../config/commit.git
Run Code Online (Sandbox Code Playgroud)
我确实将文件重命名为./.git/hooks/中的post-commit,权限是-rwxr-x-r-x
如此,我不知道为什么它不起作用.
我到谷歌的每个地方我得到了同样的答案,但这对我来说是错误的答案.最初我在我的服务器上为Windows安装了Subversion 1.5.6(我运行Windows Server 2008),并为项目创建了一个存储库.然后我在笔记本电脑上使用了Tortoise客户端版本1.6.X来更新项目.在我尝试使用post-commit钩子脚本(我在提交时更新wwwroot中的文件夹以反映网页上的更改)之前,一切都很糟糕.我收到一条消息,说"这个客户太旧了,无法使用工作副本'XXX'".
所以我在笔记本电脑上卸载了SVN客户端,并从服务器上删除了存储库.然后我从头开始在服务器上创建了一个新的存储库并安装了TortoiseSVN版本1.5.6,如果客户端版本与服务器上的Subversion相同,那么它们应该很好用.在我再次下载我的笔记本电脑上的存储库并重新安装我的钩子脚本后,我得到了相同的消息......
必须不断删除我的存储库并重新安装我的客户以寻找通过反复试验合作的存储库,这是非常艰苦和具有破坏性的.我认为如果TortoiseSVN和我的服务器Subversion都是1.5.6,为什么存储库会争论,我没有理由(并且可以在网上找不到).
有谁在那里可以提供一些见解,为什么我会得到这个消息?甚至有人可以让我知道我需要使用哪个版本的TortoiseSVN才能让我的服务器SVN 1.5.6不要抱怨.我的钩子脚本在我的服务器上的命令行工作,所以我知道这不是它的错.提前致谢.
我正在努力进一步使用git,我认为钩子是我想要的方式,也许有人可以在这里给我一些建议.
我的计划是拥有一个包含3个分支(开发,登台和生产)的git存储库.我希望提交到这3个分支中的每个分支以在提交后触发不同的脚本.
git是否有能力做到这一点,还是我咆哮错误的树?
提前致谢.
我有一个脚本,我需要在git版本控制下提交项目后运行.因此,我在子目录/ hooks中的项目.git目录中创建了一个post-commit钩子,将其命名为'post-commit',并为其提供了以下内容:
#!/bin/sh
# I am a post-commit hook
/usr/local/bin/my_script &
Run Code Online (Sandbox Code Playgroud)
my_script是可执行的,在/ bin/sh中运行良好.实际上它有几秒钟的运行时间,所以我希望它是背景和从当前shell分离.这就是为什么我把尾随'&'放到我的钩子上.
现在的问题是,'&'似乎被忽略了.当我在OSX Lion下使用gitx 0.7.1时,gitx会在my_script需要运行的时间段内挂起.
我尝试了很多,但是没有让流程本身进入后台.
这有什么不对?
我正在使用SVN存储库进行Web开发工作.我有一个开发站点设置,其中包含存储库的结帐.
我已经设置了一个SVN post-commit钩子,这样每当对存储库进行提交时,开发站点都会更新:
cd /home/www/dev_ssl
/usr/bin/svn up
Run Code Online (Sandbox Code Playgroud)
这很好但是由于存储库的大小,更新需要很长时间(大约3分钟),这在进行常规提交时相当令人沮丧.我想要的是将post-commit钩子更改为仅更新已提交的那些文件/目录,但我不知道该怎么做.更新"最低公共目录"可能是最好的解决方案,例如
如果提交以下文件:
它会更新目录:/ branches/feature_x /
任何人都可以帮我创建一个解决方案来实现这一目标吗
更新:
我有一个带有post-commit钩子的subversion服务器来做某事.
我希望尽快签入,而不是等待钩子脚本.但是按照设计,Subversion post-commit钩子脚本将一直运行,直到所有子进程退出,所以使用如下的东西:
启动another_prog ...
在钩子bat文件中没有用.
所以我想知道如何在Windows bat文件中运行另一个程序,该程序不会创建子进程或让子进程从父进程分离.
设置现有svn存储库的只读git镜像的最佳方法是什么,并设置post-commit钩子,这样每当有人提交svn时,git镜像会自动更新?主要是,我想在服务器上运行一次git-svn clone,然后让人们从git中检出而不必git-svn自己克隆整个svn存储库.
我正在尝试为我在服务器上设置的存储库创建一个非常简单的提交后挂钩.脚本如下:
REPOS="$1"
REV="$2"
cd /var/www/directory && svn update --username user --password pass
Run Code Online (Sandbox Code Playgroud)
当我从我的SVN客户端运行提交时,我收到以下错误:
post-commit hook failed (exit code 255) with no output.
Run Code Online (Sandbox Code Playgroud)
但是,当我使用sudo bash post-commit从cli运行我的post-commit钩子时,它会完美地执行.关于我做错了什么的任何想法?