Chinaunix首页 | 论坛 | 博客
  • 博客访问: 567966
  • 博文数量: 213
  • 博客积分: 6789
  • 博客等级: 准将
  • 技术积分: 1947
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-01 17:11
文章分类

全部博文(213)

文章存档

2012年(9)

2011年(62)

2010年(99)

2009年(43)

git

分类: 项目管理

2010-12-17 17:25:26

设置用户名与邮箱
git config --global user.name "My Name"
git config --global user.email "my@email.com"

初始化一个本地目录,加入版本管理
git init

从已有的git库中提取代码
git clone git@server:app.git myrepo

克隆一个版本库(repository)到一个新的目录
git clone

git clone [–template=] [-l] [-s] [–no-hardlinks] [-q] [-n] [–bare] [–mirror] [-o ] [-u ] [–reference ] [–depth ] [–] []

在clone后, 执行不带参数的git fetch的命令将更新远端的任何branches, 而执行不带参数的git pull的命令将merge远程的master branch到当前master branch

更新本地代码到最新版本(需要merge才能合到本地代码中)
git fetch

合并更新后的代码到本地
git merge

更新代码方式的另一种方法(git pull是git fetch和git merge命令的一个组合)
git pull ( firstly, you should change to master, git checkout master )

修改代码后,查看已修改的内容
git diff --cached

将新增加文件加入到git中
git add file1 file2 file3

从git中删除文件
git rm file1
git rm -r dir1

提交修改
git commit -m 'this is memo'
如果想省掉提交之前的 git add 命令,可以直接用
git commit -a -m 'this is memo'
commit和commit -a的区别, commit -a相当于:
第一步:自动地add所有改动的代码,使得所有的开发代码都列于index file中
第二步:自动地删除那些在index file中但不在工作树中的文件
第三步:执行commit命令来提交

提交所有修改到远程服务器,这样,其它团队成员才能更新到这些修改
git push

查看log
git log
git log -p
tig

查看两个版本之间的不同:
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9: b8e7b00c02b95b320f14b625663fdecf2d63e74c: 
查看两个版本之间的某个文件不同:
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9:filename b8e7b00c02b95b320f14b625663fdecf2d63e74c:filename
查看两个版本之间某个文件夹的不同:
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9 b8e7b00c02b95b320f14b625663fdecf2d63e74c 文件夹 

List Ignored Files
git ls-files -o -i --exclude-standard

Show Changed Files and Status
git log --name-status

Revert One File
git checkout

revert删除的文件
git ls-files -d
git checkout deleted_file_name

revert修改过的文件
git ls-files -m
git checkout modify_file_name

查看添加在本地的文件
git ls-files -a

回退*.file到指定version
git checkout file version

回退到某个version
git branch -b version
打补丁
git diff > xxx.patch
git format-patch -1 abc(-1 生成指定版本的patch)
patch -p1 < xxx.patch


git revert commit    revert指定commit

git revert --hard      revert到指定commit

清除本地文件(svn-clean)
git clean -d(dir) -n dirname   #显示要清除的目录下的内容
git clean -d(dir) -f dirname   #清除目录下的内容 
参考:

Everyday GIT With 20 Commands Or So:
阅读(1376) | 评论(0) | 转发(0) |
0

上一篇:__attribute__

下一篇:qq config

给主人留下些什么吧!~~