Git 常用指令

1.  初始化 init

首先需要创建一个repo,这是cd到文件夹底下,然后init。

$ git init

2.  添加文件 add

在文件系统里面的文件如果不添加到git的repo里面,不会自动被git辨识,需要手动添加,这也是初始化repo是必须要做的事。

$ git add Documentation/\*.txt

$ git add git-*.sh

3.  删除文件  rm

删除文件,分为从git cached里面删除(即从indextree里面删除),何在文件系统中删除,如果不加—cached,就是直接从文件系统里面彻底删除。

$ git rm [-f | --force] [-r] [--cached] <file>

-f 强制删除。

-r 针对文件夹的,递归删除。

--cached 仅仅从index tree里面删除,不把他从文件系统里面删除。

<file> filepattern

4.  重命名 mv

$ git mv [-f] <source> <destination>

$ git mv [-f] <source> ... <destinationdirectory>

5.  回滚/撤销 reset/revert

Reset是回退到某一版本,然后删除比他新的所有版本。Revert把这一版本的行为撤销相当于ctrl+z但是是那个版本的行为,不是最近的,作为一个新的commit。

$ git reset [ –hard] [hashcode]回到前一个保存的状态然后删除之后的所有修改。

$ git revert [hashcode]撤销每一步的行为,作为新的commit

6.  分支 checkout/branch

分支的作用在git里面非常重要,是和svn的一个比较大的区别。当需要写一些脏代码的时候,我们创建一个新的分支,写代码、测试,然后我们回到原来的分支,所有的一切都消失了。另外,我们还有merge等命令,让两个分支可以合并。主要的使用方法如下所示。

$ git checkout HEAD~3:回退到三个版本之前的分支。

$ git checkout –b branchName [hashcode]:创建并进入分支,hashcode的基础上创建分支。

$ git checkout master:回到master分支。

$ git merge desBranch:把目标branch合并到当前branch

$ git branch –d rmBranch:删除分支。

$git push origin –delete b1:删除远程分支。

7.  上传和更新 push/pull

Push用于把修改提交到remote上(github),类似checkin。Pull吧版本更新到remote一样新(在开始工作之前干这个事情相当于update)。

$ git push origin master1:master2origin是站点名, master1是本地分支名,master2是远程分支名。

$ git pull origin master:直接更新

另外fetch很好用,首先我们把remote上的版本下载到某一个分支上,我们先查看分支的diff,然后merge。Fetch和pull的区别就是pull直接把remote的版本merge到本地了。示例如下:

$ git fetch origin master:tmp

$ git diff tmp 

$ git merge tmp

8.  标签tag

在程序开发到一定阶段时需要创建tag(v1.0.0),用于release。

$ git tag –a “v1.0.0” –m “first release”:创建taga表示annotation

$ git tag –d “tag name”:删除本地tag

$ git push origin –tag master:吧本地所有tag上传。

$ git push origin –delete “tagName”:删除远程tag

9.  查看更新 diff

这个可以用来查看两个版本之间的差异,可以直接导出patch。

$ git diff [<commit>] <commit>[<path>…]:比较两个版本

如果需要patch> patchok

 

10.忽略文件 .gitignore

用于忽略不想加入git repo中的文件,这个命令在类似eclipseproject的时候很有用处,可以把bin文件夹加入到gitignore文件当中,这样可以直接add  –a文件而不会受影响。注意这个文件要起作用必须先add到repo里面,要是没有加入会导致不起作用,一起添加入repo。

$ cd /home/user/doc

$ vim .gitignore

$ git add.gitignore

$ git commit

另外,文件的格式是每一行是一中ignorepattern。例如我不想添加docx的临时文件可以用下面的pattern表示。这在本memo里面有示例。

~$*


参考资料:http://www.cnblogs.com/1-2-3/archive/2010/07/18/git-commands.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值