使用Git遇到的问题

十一月初跟着帆哥参加 [Tutorials for OpenGL 3.3 and later](www.opengl-tutorial.org) 的翻译教程工作,历时一个多月,一共16期课程,我翻译了6期,由此接触了Git,我们是在GitHub上对翻译工作进行管理及反馈,定稿后再放到原作者的官网上,使用的wordpress支持的多语言插件。现在翻译工作差不多结束,剩下后期的修改及与原作者沟通和放上去的效果等等事情了,所以趁着收尾工作,把在使用Git遇到的一些问题及解决方案列出来,算个总结。

1、git-客户端的选择

我是在window下使用git,安装的msysGit,事实上为了图形化界面的方便,比如手动修改冲突或者可视化查看被修改的内容等等,一般大家会选择安装TortoiseGit(SVN 小乌龟的 Git 版本),它只是一个GUI 工具。但其实msysGit 有个简单的 GUI 工具,及简单的 Explorer 集成,它自带的 Bash 非常好用,深得 Linux 的真传(真传我就不知道了,小白表示木有用过linux)。

2、msysGit中文问题

选择msysGit 的 Bash的理由我就不赘述,主要是简洁明了,直接用底层工具也避免了上层 GUI 带来的额外的 bug,使用的一些基本命令也不难。
会有一些中文问题,比如git bash不能输入中文,中文log乱码等

3、git冲突问题

见得最多的是内容冲突。为了避免,每次在你打算修改仓库里任何内容之前,先远程更新当前仓库,即git pull,再进行自己的操作。当然当仓库内容多了,参与人员多了的原因,冲突还是避免不了的,主要的解决思路是:先git pull,它会报出cannot merge之类的错误,接着用git diff找出冲突的地方,然后直接编辑修改或者使用图形化界面编辑修改冲突,最后提交git add、git commit -a -m "...提交信息"。

如果想放弃本地的文件修改,可以使用git reset --hard FETCH_HEAD,FETCH_HEAD表示上一次成功git pull之后形成的commit点。然后git pull.
</p>
crystal /
Published under (CC) BY-NC-SA in categories 工具  tagged with Git