最新消息:

使用bash从SVN和Git中获取顺序版本号,Windows 下 Git 客户端的选择

bash admin 1浏览

在进行自动部署的时候,经常需要用脚本获取程序的最新版本号,下面是我的两个解决方案。

for SVN

获取XML版本的svn信息,这样可以避免不同语言的问题 __xml=svn info –xml –incremental # 我们可以获取到2个版本号,一个是最新版本库版本号,一个是自己的提交版本号。删除自己提交的版本号。 __revision=echo “$__xml”|sed ‘/revision/!d’|sed ‘$d’ # 提取出版本号的数字部分 echo $__revision|sed ‘s/revision=”([0-9]+)”>?/1/’

获取XML版本的svn信息,这样可以避免不同语言的问题

__xml=svn info –xml –incremental

我们可以获取到2个版本号,一个是最新版本库版本号,一个是自己的提交版本号。删除自己提交的版本号。

__revision=echo “$__xml”|sed ‘/revision/!d’|sed ‘$d’

提取出版本号的数字部分

echo $__revision|sed ‘s/revision=”([0-9]+)”>?/1/’

for Git
Git采用的是SHA散列码作为版本号,因此它没有顺序的版本号。但我们可以通过统计Git版本库的提交次数来获得一个顺序版本号。

基准版本号默认是1,可以通过传递一个参数修改 get_version() { local __base=${1:-1} echo $((git rev-list –all|wc -l + $__base)) } get_version 7000

基准版本号默认是1,可以通过传递一个参数修改

get_version()
{
local __base=${1:-1}
echo $((git rev-list –all|wc -l + $__base))
}
get_version 7000

这个版本对网上搜到的那个被普遍转载的版本做了简化和调整。网上那个版本写得比较复杂,例如awk的使用没有必要,而且要统计所有提交,应该用 git rev-list –all 参数,而不是用 git rev-list HEAD。

本文链接:http://zengrong.net/post/1798.htm

Windows 下 Git 客户端的选择,TortoiseGit(乌龟git)保存用户名密码的方法:
windows下比较比较好用的git客户端有2种:

  1. msysgit + TortoiseGit(乌龟git)

  2. GitHub for Windows

github的windows版也用过一段时间,但还是不太习惯。所以目前仍然青睐与msysgit+乌龟git的组合。TortoiseGit在提交时总数会提示你输入用户名密码,非常麻烦。解决方案如下:

方法一:

设置 -> git 编辑本地 .git/config 增加
[credential]
helper = store

保存,输入一次密码后第二次就会记住密码了

方法二:

  1. Windows中添加一个HOME环境变量,值为%USERPROFILE%

  2. 在“开始>运行”中打开%Home%,新建一个名为“_netrc”的文件

  3. 用记事本打开_netrc文件,输入Git服务器名、用户名、密码,并保存:

machine github.com #git服务器名称
login user #git帐号
password pwd #git密码

在windows上建_netrc
copy con _netrc #创建_netrc文件

依次输入以下3行:

machine github.com #git服务器名称
login username #git帐号
password password #git密码

在最后一行后输入ctrl+z,文件会自动保存并退出

再次在git上提交时就不用重复输入用户名密码了

转载请注明:爱开源 » 使用bash从SVN和Git中获取顺序版本号,Windows 下 Git 客户端的选择

转载请注明:爱开源 » 使用bash从SVN和Git中获取顺序版本号,Windows 下 Git 客户端的选择