首页| 论坛| 消息
主题:扇贝词典项目开源,GitHub使用基础命令解释
jeffreylee发表于 2013-04-03 08:08
tag v1.2
Tagger: Scott Chacon
Date: Mon Feb 9 15:32:16 2009 -0800
version 1.2
commit 9fceb02d0ae598e95dc970b74767f19372d61af8
Author: Magnus Chacon
Date: Sun Apr 27 20:43:35 2008 -0700
updated rakefile...
分享标签
默认情况下,git push 并不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。其命令格式如同推送分支,运行 git push origin 即可:
$ git push origin v1.5
Counting objects: 50, done.
Compressing objects: 100% (38/38), done.
Writing objects: 100% (44/44), 4.56 KiB, done.
Total 44 (delta 18), reused 8 (delta 1)
To git@github.com:schacon/simplegit.git
* v1.5 -> v1.5
如果要一次推送所有(本地新增的)标签上去,可以使用 --tags 选项:
$ git push origin --tags
Counting objects: 50, done.
Compressing objects: 100% (38/38), done.
Writing objects: 100% (44/44), 4.56 KiB, done.
Total 44 (delta 18), reused 8 (delta 1)
To git@github.com:schacon/simplegit.git
* v0.1 -> v0.1
* v1.2 -> v1.2
* v1.4 -> v1.4
* v1.4-lw -> v1.4-lw
* v1.5 -> v1.5
现在,其他人克隆共享仓库或拉取数据同步后,也会看到这些标签

关于.gitignore,忽略某些文件的版本管理

.gitignore文件可以定义要忽略的文件。详细规则见http://www.kernel.org/pub/software/scm/git/docs/gitignore.html
过滤文件夹: /build/
过滤某种类型的文件:*.user
过滤某个文件: /Build/Products/test.app
!开头表示不过滤: !*.c , !/dir/subdir/
支持通配符: *. 过滤repo中所有以.o或者.a为扩展名的文件
有三种方法应用过滤:
对该项目所有参与者过滤:
将 .gitignore 文件放在工作目录的根目录,编辑.gitignore完成后提交
git add .gitignore
仅对自己仓库过滤:
添加/编辑你工作目录的$GIT_DIR/info/exclude,例如你的working copy目录是
~/src/project1 , 则路径为
~/src/project1/.git/info/exclude
系统全局过滤
创建一个ignore文件,名字随意起,比如我的放在 ~/.gitglobalignore ,然后配置git:
$ core.excludesfile = ~/.gitglobalignore
.gitignore文件示例:
.DS_Store
### build directory
iMochaApp/build/
iMochaSDK/build/
### Testing projects directory
/Testing/
关于git config push.default matching
这是新版git比较智能的地方,让你定义push的缺省操作
git config push.default current
current意思是每次push仅仅push当前的分支,如果设置为matching的话,会push所有的有改动的branch。我认为还是current比较好,我的行为我做主,不需要那么多自动动作。
关于汉字乱码:
从帖子 http://topic.csdn.net/u/20110106/20/f11ef8dd-44ec-478e-b78a-73240bcdde43.html
处摘抄提炼而来
原理:强制log统一使用utf-8编码。
1.在 etc/gitconfig 中添加:
view plaincopy
encoding = utf-8
commitencoding = utf-8
logoutputencoding = gbk
说明:
1) gui.encoding = utf-8 解决在 $ git gui 和 gitk 里中文乱码。
2) i18n.commitencoding = utf-8 设置 commit log 提交时使用 utf-8 编码,可避免服务器上乱码,同时与Unix上的提交保持一致!
3) i18n.logoutputencoding = gbk 使得在 $ git log 时将 utf-8 编码转换成 gbk 编码,解决 MSYS Bash 中 $ git log 乱码。
2.使得 $ git log 可以正常显示中文(配合i18n.logoutputencoding = gbk),在 etc/profile 中添加:
view plaincopy
export LESSCHARSET=utf-8
网上流传的方法都没有使用logoutputencoding = gbk选项。
而我认为这才是最终解决中文commit log乱码的根本方案。
MsysGit的中文乱码,有两方面的原因:
1. MSYS Bash不支持utf-8编码的中文显示,而且没有自动将utf-8编码转换成gbk编码的选项。
2. Git GUI无法自动检测当前文件编码,导致只能由用户指定:encoding = utf-8 ,弊端是非utf-8编码的文本将显示乱码。
也鉴于这个原因,如果是开发跨平台项目,建议统一使用UTF-8编码,以尽可能的解决中文乱码问题。
另外关于这个问题:请教如何在 MSYS 的 Bash 中将所有输出自动从 UTF-8 转换到GBK么?
这个我不知能否做到,但是可以让bash正确显示UTF-8字符。因为msys的bash和windows的cmd相关的,也是内含了windows的代码页。他默认的代码页是GBK的。
在bash里输入
view plaincopy
c:/windows/system32/chcp.com 65001
然后按Alt-space,选择属性,在字体栏里选择字体为非点阵字体(在我这里为
下一页上一页  (3/5)
回帖(2):
2楼:支持支持
单单GIT命令的实际使用经验就很不错了
1楼:比较详细,感兴趣的人员可以去参与这个的开发,上github.

全部回帖(2)»
最新回帖
收藏本帖
发新帖