您的位置:首页 > 其它

git使用

2011-08-15 17:29 141 查看
git log -p -1

git mv from to直接把文件换掉

git commit -a不用自己手动更新在库中暂存的文件

git log --pretty="oneline/short/full/fuller"

git log --pretty=format:"%h - %an, %ar : %s"

选项 说明

%H 提交对象(commit)的完整哈希字串

%h 提交对象的简短哈希字串

%T 树对象(tree)的完整哈希字串

%t 树对象的简短哈希字串

%P 父对象(parent)的完整哈希字串

%p 父对象的简短哈希字串

%an 作者(author)的名字

%ae 作者的电子邮件地址

%ad 作者修订日期(可以用 -date= 选项定制格式)

%ar 作者修订日期,按多久以前的方式显示

%cn 提交者(committer)的名字

%ce 提交者的电子邮件地址

%cd 提交日期

%cr 提交日期,按多久以前的方式显示

%s 提交说明

git 提交信息错了

git commit --amend重新修改提交信息

git 更新修改文件了,提交了暂存,取消暂存方式

git reset HEAD <file>

TAG使用

git tag -a v1.4 -m 'my version 1.4'

git show <tagname>

如果有自己的私钥,可以用GPG签署标签

git tag -s v1.4 -m 'my version 1.4'

默认情况下,push不会往服务器推送标签

git push --tags推送所有标签

git push origin <tagname>单独推送标签

技巧:

git编译目录中contrib/completion下面有个git-completion.bash

拷贝到~/.git-completion.bash

修改.bashrc加入

source ~/.git-completion.bash

git 敲命令时候,就可以自动补全命令了

分支:

创建新的分支

git branch <branchname>

git checkout <branchname>

git checkout -b <branch> 新建并切换到新的分支

git执行了commit 没有push,取消commit,并返回diff状态

打成tarball:

$ git archive -v --format=tar “tagname/branch name” |bzip2 > ../*.tar.bz2

gitosis使用

如果设置/home/git/目录权限为777的话,那么git clone的时候会提示要输入密码,必须设置/home/git目录权限为755

如果要gitweb可以看到project只需要设置新添加的project目录到权限其他用户可以读,就ok。

安装httpd, gitweb

在git目录下面make GITWEB_PROJECTROOT="/home/git/repositories/" prefix=/usr/local/ gitweb/gitweb.cgi

cp -Rf gitweb /var/www下面

在/etc/httpd或者是/etc/apache的conf.d/目录中写git.conf

如下

alias /git /var/www/gitweb

<VirtualHost *:80>

ServerName gitserver

DocumentRoot /var/www/gitweb

<Directory /var/www/gitweb>

Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch

AllowOverride All

order allow,deny

Allow from all

AddHandler cgi-script cgi

DirectoryIndex gitweb.cgi

</Directory>

</VirtualHost>

gitweb可以不用project_list直接修改权限其他用户可以读就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息