几个有用的git命令

由于git分布式版本管理系统相比subversion对于大型的项目开发更具被优势, jboss as 7/eap 6已经全面采用git来进行源码管理,您可以在 https://github.com/jbossas/jboss-as 查看 jboss as的源码以及修改历史,也可以通过阅读《玩转 JBoss AS 7》(http://jbosscn.iteye.com/admin/blogs/1037260) 来了解如果 clone jboss as源码到本地并进行编译以及贡献您的代码到jboss as 7中。

 

通过一段时间对git的学习和使用,有几个有用的 git 命令和大家分享。

 

1. git branch -avv
    -vv 能显示当前本地 branch 对应的 origin branch,以及最后一次提交的信息。

    -a 为显示所有的branch,包括本地branch以及远程branch。

    一起组合的时候,能让你清晰的了解当前所有的branch信息。

2. git remote show origin
    显示 origin 的详细信息,包括了branch track 的信息。

3. git push -u /--set-upstream
    首次push的时候,会设置自动将远程branch作为默认的 push branch,但并不会作为默认的pull branch,所以直接输入 git pull 的时候,会有出错提示。
    那么,可以在再次push的时候,加上-u 或者--set-upstream,则会将默认的push branch同时设置为pull branch,这样,该remote branch就成为了 tracking branch,之后就可以直接输入 git pull 来更新本地branch了。

 

4. get pull --rebase

    git pull将远程branch更新到本地,如果远程branch有更新,则会和当前branch做merge。一般来说merge并产生不友好的commit信息,当你再次push到git服务器上之后,会给其他的合作开发人员带来极为麻烦的合并。--rebase则会在git pull 之后以远程分支为基本来应用本地的更新,生成的更新记录则会更友好。

 

5. git rebase --onto master server client
    如果没有 --onto master,是将 client 以 server 为基准进行rebase,即将client对server的共同祖先的改动接到server的HEAD上,有了 --onto master,则是将这个改动接到 master的HEAD后面。在同时开发多个分支,并且在需要应用某些不是以 master 为基础创建的分支的时候,特别有用。

 

6. git archive

    git archive 用来方便的将git repo某个快照打包。

    打包成gzip:

    git archive master --prefix='project/' | gzip > project.tar.gz

    打包成zip:

    git archive master --prefix='project/' --format=zip > project.zip

    打包成tar:

    git archive master --prefix='project/' --format=tar > project.tar

 

     master可用任何一个branch或者commitId替换。

 

要想全面了解git的特性和使用,可以参考《Pro git》一书。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值