您的位置:首页 > 其它

git学习 本地常用操作01

2014-12-17 11:20 162 查看
注意:

Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动

不要使用Windows自带的记事本编辑任何文本文件

开始git项目:

初始化本地项目:

初始化:git init; //git init dir 同时创建文件夹并初始化;

将文件纳入版本控制: git add *.js //git add -A 加入全部文件

提交:git commit -m 'message';

从其他地方克隆项目:

克隆:git clone url (newfilename);//也可以clone本地的项目;

git clone -b <branch> url

初始化一个裸仓库

初始化: git init --bare;

裸仓库没有working dir,不能进行git操作,纯粹是为了共享;

常用的创建git私有仓库方法

查看提交历史

git log ; //git log --stat;显示每次提交文件变更;

--pretty=oneline :只显示一行信息,包括一个 SHA-1 校验和提交说明;

--pretty=short :不包括日期;

git show ($id); 显示最新(某个ID )具体的提交信息和变化;

版本号及回退

HEAD表示当前版本;上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上可以简写成HEAD之前第n个版本:HEAD~n。

回退到上一个版本:git reset --hard HEAD^

此时如果想返回先前的,只能使用commit id, 如5位commit id; git reset --hard 63e01

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针

如果暂时找不到之前的commit id, 可以使用git reflog来显示HEAD指针指到过版本

项目状态:

工作目录下面的所有文件包括两种状态:

已跟踪:指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。

未跟踪:其他文件都属于未跟踪文件。初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。



检查当前状态:git status; //与最近一次提交的比较;[工作区,暂存区和版本库比较]

git status -s //精简显示

添加与修改:

将修改的文件放到暂存区:git add; //添加全部文件 git add .

建立忽略文件:.gitignore //注意,实际上所有的git操作也是可以使用文件匹配模式的,一般会在最前面添加 \

*a 以a结尾;

!add.js 除了add.js以外的文件

doc/ doc文件夹下的所有文件

doc/**/ doc/directory下的所有文件

查看更新修改:

git diff //修改但未暂存; [工作区和暂存区比较]

git diff --staged/--cached //修改暂存但未提交;[暂存区和版本库比较]

跳过暂存区域:git commit -a -m 'message'; //注意如果是本来未跟踪的话,还是要运行一次git add;

撤销操作:

取消文件的修改:git checkout < file>, git checkout .; 全部

只对已跟踪的文件有效

让这个文件回到最近一次git commit或git add时的状态。

取消已经暂存的文件:git reset HEAD file

一般是针对刚刚git -add的文件

修改最后一次提交:git commit --amend -m 'message'; //会修改最近一次提交的信息,如果和上次信息相同,等于覆盖了上次的提交;

移除版本管理://都是对已跟踪的文件而言

修改还未暂存:

git rm -f 'flie';

已经暂存:

删除文件'file'之后,运行git rm 'file' //最好在任何修改之后运行git status查看;

直接运行git rm 'file' ;

仅是移除版本管理,而不删除文件: git rm --cached 'file' //包括修改后已暂存或未暂存;

修改文件名:

手动直接修改:相当于手动删除文件然后添加新文件;需要使用git rm 'oldfile'; git add 'newfile';

使用git修改: git mv 'oldfile' 'newfile';

恢复删除:

如果是删除还未提交的话,可以使用git checkout -- file

git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”;但只能恢复文件到最新版本

如果是已经提交了,则使用版本回退

修改提交历史:

改变最近一次提交 : git commit --amend -m 'new commit message'

分支重命名:

git branch -m oldname newname

git branch -m newname
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: