GitHub 常用命令(LocaL)

Original Source: Git教程

本文对命令相关内容进行了节选,方便查阅:

{Git for windows


1. 安装Git:

For Linux:

sudo apt-get install git

For Windows:

Download .exe


2. 创建版本库(Win bash下):

$ cd D:
$ mkdir Git
$ cd Git
通过 git init命令把这个目录变成Git可以管理的仓库:
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/


3. 创建 readme.txt 并将其添加到仓储:

$ git add readme.txt


4. 用命令 git commit告诉 Git,把文件提交到仓库的说明,内容不限,但是最好简单易懂:
$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt
E.g.

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."


5. 对readme.txt文件进行修改,利用 git status对本地仓储的变化进行检查:

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add ..." to update what will be committed)
#   (use "git checkout -- ..." to discard changes in working directory)
#
#    modified:   readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
利用 git diff查看文件变化情况,- , + 代表文件变化情况:

$ git diff readme.txt 
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
 Git is free software.
利用 Git Log命令查看历史记录:

$ git log
commit 3628164fb26d48395383f8f31179f24e0882e1e0
Author: Michael Liao 
Date:   Tue Aug 20 15:11:49 2013 +0800

    append GPL

commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
Author: Michael Liao 
Date:   Tue Aug 20 14:53:12 2013 +0800

    add distributed

commit cb926e7ea50ad11b8f9e909c05226233bf755030
Author: Michael Liao 
Date:   Mon Aug 19 17:51:55 2013 +0800

    wrote a readme file


6. 版本回退:

在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写成HEAD~100

--hard参数暂时不考虑。

$ git reset --hard HEAD^
HEAD is now at ea34578 add distributed
如果误回退可以通过指定版本号再回到原来的版本:

$ git reset --hard 3628164
HEAD is now at 3628164 append GPL
版本号没必要写全,前几位就可以了,Git会自动去找。


7. 简单理解版本库的工作原理:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
GitHub 常用命令(LocaL)_第1张图片
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

Git管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,而在工作区的修改不会放入暂存区,所以,git commit只会把暂存区的修改提交了。

8. 撤销修改:

git checkout -- file

可以丢弃工作区的修改。

git reset HEAD file
可以把暂存区的修改撤销掉(unstage),重新放回工作区。

如果已经commit可以进行local版本回退,但是如果也已经推送到远程版本库,则会无法撤销修改。

9. 删除文件:

删除工作区中的文件:

$ rm test.txt
删除版本库中的文件:

$ git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"
[master d17efd8] remove test.txt
 1 file changed, 1 deletion(-)
 delete mode 100644 test.txt
tips:

从版本库中恢复文件:

$ git checkout -- test.txt
git checkout其实是用版本库里的版本替换工作区的版本。










你可能感兴趣的:(github)