Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1559961
  • 博文数量: 204
  • 博客积分: 2215
  • 博客等级: 大尉
  • 技术积分: 4426
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-06 08:03
个人简介

气质,源于心灵的自信!

文章存档

2018年(1)

2017年(1)

2016年(1)

2015年(18)

2014年(20)

2013年(30)

2012年(119)

2011年(14)

分类: LINUX

2012-05-29 22:50:21

本文转自网络:

本篇主要是普通开发工作者在开发过程中所使用的命令。

  作给开发者,别人搭建git服务器之后,你呢就配置个人的客户端:

  git config --global user.name "yourname"
  git config --global user.email "xxxx@gmail.com"

  检出仓库

  git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6

  查看远程仓库:$ git remote -v


  查看本地分支:git branch

  查看远程分支:git branch -r

  删除本地分支:git branch -d branch_name

  选择分支:git check out branch_name

  创建本地分支:git branch branch_name (注意提交代码前一定要建立本地分支)

  

  拉取远程分支,并合并:git pull origin branch_remote:branch_local

  查看状态:git status

  查看详细修改:git diff

  添加/删除文件:git add/rm filename

  提交并添加信息:git commit -m  "your descriptions"

  查看历史日记:git  log

  本地分支推送:git push origin branch_local:branch_remote

  

  还要介绍下恢复撤销命令:

  git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息   :git reset

  git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可。比如返回到commit前(含有index信息,这也是跟-mixed的区别) :git reset --soft HEAD^     

  git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容。如:git reset --hard HEAD^返回上一个版本

  git revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git的版本号都是生成的一个哈希值

  注:reset是指将当前head的内容重置,不会留任何痕迹。git reset --hard HEAD~3,会将最新的3次提交全部重置,就像没有提交过一样。根据--soft --mixed --hard,会对working tree和index和HEAD进行重置。revert是撤销某次提交,但是这次撤销也会作为一次提交进行保存。

 

  至于还有许多的内容没有说,比如git的配置,git(client-server)环境的搭配,各个命令的详细用法没有说,以后会慢慢写出来给大家分享,也欢迎高手指点。

  下面是网上找的别人的,我觉得写的不错,所以就复制了一部分 
  将 Current working directory 记为 工作目录(1)
  将 Index file 记为 暂存区(2)
  将 Git repository 记为 代码仓库(3) 


  他们之间的提交层次关系是 (1) -> (2) -> (3)
  git add完成的是(1) -> (2)
  git commit完成的是(2) -> (3)
  git commit -a两者的直接结合 




  从时间上看,可以认为(1)是最新的代码,(2)比较旧,(3)更旧
  按时间排序就是 (1) <- (2) <- (3)

  it diff得到的是从(2)到(1)的变化
  git diff –cached得到的是从(3)到(2)的变化
  git diff HEAD得到的是从(3)到(1)的变化

 
 
      git localremote
 
      git workintree
阅读(1490) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~