Git 使用心得
1、如何配置忽略列表?
Git 通过库的工作区根目录下的 .gitingnore 文件配置忽略列表,每行一句忽略表达式。
2、我确定忽略表达式没有语法错误,但为什么忽略条目不生效?
如果该条目对应的文件已加入版本库,则该文件的如果更改了也总是会出现在变更列表当中。只有将该文件从库中删除了,该忽略条目才会使Git停止对该文件的跟踪。
3、提交错误
update-ref 失败:
error: Unable to append to .git/logs/refs/heads/<your projectName>: Permission denied
fatal: cannot update the ref 'HEAD'.
解决:这是通过Git GUI进行提交时发生的错误,由 .git 文件夹中的文件被设为“只读”所致,将 .git 文件夹下的所有文件、文件夹及其子文件的只读属性去掉即可。
4、msysgit : 通过 Git GUI 快捷菜单打开 GUI 界面时提示 child process exited abnormally 错误的解决方法
错误日志如下:
child process exited abnormally child process exited abnormally while executing "exec {C:/Program Files/Git/libexec/git-core/git-config.exe} --global --unset gui.recentrepo {^C:/test1$}" ("eval" body line 1) invoked from within "eval exec $opt $cmdp $args" (procedure "git" line 23) invoked from within "git config --global --unset gui.recentrepo "^$p\$"" (procedure "_unset_recentrepo" line 3) invoked from within "_unset_recentrepo [lindex $recent 0]" (procedure "_append_recentrepos" line 19) invoked from within "_append_recentrepos [pwd]" (procedure "_git_init" line 17) invoked from within "_git_init $this" (procedure "choose_repository::_do_clone2" line 36) invoked from within "choose_repository::_do_clone2 ::choose_repository::__o1::__d" invoked from within ".buttons.next invoke" ("uplevel" body line 1) invoked from within "uplevel #0 [list $w invoke]" (procedure "tk::ButtonUp" line 24) invoked from within "tk::ButtonUp .buttons.next" (command bound to event)
解决方法:
该错误是由于全局的 .gitconfig 文件中 [gui] 下配置了多个 recentrepo 配置项引起的,该项最多只能配置一项。
配置文件位于 %HOMEDRIVE%%HOMEPATH%\.gitconfig ,在 windows 下即为 C:\Documents and Settings\%CurrentUser%\.gitconfig 。
打开该文件,把 [gui] 下重复的 recentrepo 配置项删除,只保留一项或删除全部的 recentrepo 配置,保存文件即可。