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 commit --amend -m 'new commit message'
分支重命名:
git branch -m oldname newname
git branch -m newname
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
相关文章推荐
- Git学习足迹---常用的基本操作01
- Git本地操作以及常用命令
- Git的学习与常用操作
- (ubuntu 16.04) Git 本地仓库简单操作学习 (一)
- git学习总结(二)本地git仓库的相关操作
- git使用<一>:常用本地操作
- 【Git学习笔记】Github与本地仓库的交互操作
- git常用命令操作(一)本地仓库管理
- (ubuntu 16.04) Git 本地仓库简单操作学习 (二)
- 学习github(2) -- git 本地库命令操作
- git学习和使用(一) 本地版本库的操作
- git 学习使用总结一(本地操作)
- git的常用操作(克隆到本地和推送到远程仓库)
- Git学习系列(二)创建本地仓库及文件操作
- Git本地命令行操作常用命令
- Git学习足迹 --- 常用的基本操作03
- Git学习-本地版本库的创建与简单操作
- Git学习笔记_01(基本常用命令)
- Git_学习_01_ 常用 Git 命令清单
- Git学习笔记(4)----基本操作及命令(本地仓库篇)