Git-Preference

git操作指南:
git config �Clist 查看当前git配置信息
一、创建版本库
    F:\Github> cd .\itstrong-web
    F:\Github\itstrong-web> git init
    Initialized empty Git repository in F:/Github/itstrong-web/.git/
    F:\Github\itstrong-web [master]> ls -ah


    目录: F:\Github\itstrong-web


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d--h-         2015/6/12     16:09            .git

编写一个README.TXT文件,提交到仓库
F:\Github\itstrong-web [master +1 ~0 -0 !]> git add README.TXT
F:\Github\itstrong-web [master +1 ~0 -0]> git commit -m "add a readme txt"
[master (root-commit) 3e13413] add a readme txt
1 file changed, 8 insertions(+)
create mode 100644 README.TXT

二、时光穿梭
先介绍两个命令:
git status:命令可以让我们时刻掌握仓库当前的状态,下面的命令告诉我们,
readme.txt被修改过了,但还没有准备提交的修改。
F:\Github\itstrong-web [master]> git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   README.TXT

no changes added to commit (use "git add" and/or "git commit -a")
git diff README.TXT:查看文档做了哪些修改
F:\Github\itstrong-web [master +0 ~1 -0]> git diff README.TXT
diff --git a/README.TXT b/README.TXT
index 166db97..9f51c25 100644
--- a/README.TXT
+++ b/README.TXT
@@ -5,4 +5,4 @@ Author: xiao
Reviewer: Xu
Unit Test:N
Meet Code Standard:Y
-Change Description: 完善HttpUtil调用API方法及其中的用户认证
\ No newline at end of file
+Change Description: 完善HttpUtil调用API方法
\ No newline at end of file
(一)、版本回退
F:\Github\itstrong-web [master]> git log
commit d47f6f40d16dddfbfa15eadd919e1e0565fb20d0
Author: strongit <[email protected]>
Date:   Fri Jun 12 16:51:26 2015 +0800

    modified README.TXT

commit 3e1341386661a0f1fce5fc6fb5633941c80f0031
Author: strongit <[email protected]>
Date:   Fri Jun 12 16:36:13 2015 +0800

    add a readme txt
F:\Github\itstrong-web [master]> git log --pretty=oneline
d47f6f40d16dddfbfa15eadd919e1e0565fb20d0 modified README.TXT
3e1341386661a0f1fce5fc6fb5633941c80f0031 add a readme txt
在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),
上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
F:\Github\itstrong-web [master]> git reset --hard HEAD^
HEAD is now at 3e13413 add a readme txt
恢复新版本:
F:\Github\itstrong-web [master]> git reflog
3e13413 HEAD@{0}: reset: moving to HEAD^
d47f6f4 HEAD@{1}: commit: modified README.TXT
3e13413 HEAD@{2}: commit (initial): add a readme txt
使用git reset --hard commit_id 恢复版本。
(二)、工作区和暂存区
需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
git add 把文件添加进去,实际上就是把文件修改添加到暂存区;
git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
(三)、管理修改
git比其他版本控制器(VCS)优秀的原因是Git跟踪并管理的是修改
每次修改,如果不add到暂存区,那就不会加入到commit中
git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别
(四)、撤销修改
git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区
(五)、删除文件
rm README.TXT  Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除
一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
另一种情况是删错了,git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”
三、远程仓库

你可能感兴趣的:(信息)