- 401问题
执行命令:
git clone http://192.168.1.6:8081/git/haolexiang.git ./haolexiang2.com
错误现象:
Initialized empty Git repository in /root/haolexiang2.com/.git/
error: The requested URL returned error: 401 while accessing http://192.168.1.6:8081/git/haolexiang.git/info/refsfatal: HTTP request failed
错误原因:
从http_code = 401 可以看出是因为authorization的问题。
解决办法有二:
一、在$HOME下创建 _netrc文件,在其中写入如下内容
machine 192.168.1.6
login your_username
password your_password
二、在执行命令式直接提供username和password,如下
将git clone http://192.168.1.6/project 替换成
git clone http://username:password@192.168.1.6/project - 解决“Git Windows或Linux客户端保存用户名与密码”的问题
在linux系统下如果没有名为“.netrc”的文件,直接创建一个即可:touch .netrc(命令)
.netrc文件内容示例machine nb.tooqe.com login linmaogan password 123456
最后再设置文件访问权限:
chmod 600 ~/.netrc
在Windows系统中的设置方法:
1.对“我的电脑->右键->属性->高级->环境变量->Administrator 的用户变量->新建” 在Windows中添加一个HOME环境变量,值为%USERPROFILE%,如下图:2. 在“开始》运行”中打开%Home%,新建一个名为“_netrc”的文件。
3. 用记事本打开_netrc文件,输入Git服务器名、用户名、密码,并保存。示例如下:
machine git.cnblogs.com
login cnblogs_user
password cnblogs_pwd - 用 git 保存空目录
git 和 svn 不同,仅仅跟踪文件的变动,不跟踪目录。所以,一个空目录,如果里面没有文件,即便 git add 这个目录,另外在别处 check out 的时候,是没有这个空目录的。只跟踪文件变化,不跟踪目录,这么设计是有原因的。但这会带来一些小麻烦。有时候,确实需要在代码仓库中保留某个空目录。比如测试时需要用到的空目录。变通的解决办法是在空目录下存一个 .gitignore 文件。然后 git add 此目录后,相当于跟踪了 .gitignore 文件,产生的“副作用”就是这个“空”目录也纳入“跟踪”,最终的效果是可以 check out 出一个看起来空空的目录。如果有许多这样的空目录,可以用下面的命令自动补充 .gitignore 文件:
$ find . \( -type d -empty \) -and \( -not -regex ./\.git.* \) -exec touch {}/.gitignore \;递归找寻当前目录下,类型为目录,且为空,也没有 .git 开头的文件,在其中用 touch 新建一个空的 .gitignore 文件。然后 git add . 之后即可。如果这些特殊文件会对测试带来干扰,那就只好在测试程序运行具体测试项目之前,先跑一段初始化目录结构的代码。另外可能还需要编写负责清理的代码。 - 测试机回滚到指定版本
查看git的历史记录
git log
重置回到指定版本提交的状态
git reset --hard d8672490dc6aa1bc27d969f70956dbabd57b8d8d
放弃本地工作拷贝所做修改,更新到远端git服务器上的最新版本
git checkout origin/master -- path/to/file
参考资料:
git 版本回滚操作:http://viking2439.iteye.com/blog/1543130
Git 捷径--看完这个,就够用了:http://blog.csdn.net/littleshaka/article/details/6697039 - Git制作补丁包的方法
首先,需要的工具是Git的windows客户端TortoiseGit,然后需要右键打开“显示日志”,然后按住ctrl选中2个版本,这样我们可以到处 这两个版本之间的补丁包。注意一定要先点小版本号,再点大版本号,否则就是降级补丁了。然后右键点击比较版本差异,然后在弹出的对话框中,全选里面的文件 列表,然后右键点击导出选中项到一个文件夹,这个文件夹里就是补丁包了。要注意的是里面的带删除颜色标记的都不可以选择,否则就乱了,或者分开导出,删除标记部分导出为对外宣布的此版本废弃的文件列表。 - 不能 fetch或 pull from Github with Eclipse (EGit) because wrong password is stored,提示not authorized
I think Preferences > General > Security > Secure Storage > Clear Passwords which clears everything. Or you can also selectively delete stuff from <user directory>\.eclipse\org.eclipse.equinox.security\secure_storage
参考资料:http://stackoverflow.com/questions/11744224/cannot-fetch-or-pull-from-github-with-eclipse-egit-because-wrong-password-is-s - Zend Studio 的Git插件push时,就算已经设置保存了用户名和密码,还是每次都要重新输入用户名和密码的解决方法
Configure Push 的 Advanced项添加以下内容即可
refs/heads/master:refs/heads/master
Git常见问题和解决方法整理
发表评论?
靠,这还敢叫常见问题解决方法?你才说到几个啊。。。。