1.安装
链接:https://pan.baidu.com/s/1j2NdS_ek-iwQbDk8UceZZA
提取码:f8hs
-
成功后打开git bash
-
设置账户密码,因为Git是分布式版本控制系统,所以,每个机器都必须自报家门,在控制台输入
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
1.1查看 用户名,密码
$ git config user.name
$ git config user.email
2.1修改 用户名,密码
$ git config --global user.name "username"
$ git config --global user.email "email"
2.基本使用
1.创建 仓库
$ mkdir learngit //创建目录
$ cd learngit
$ pwd //显示目录所在位置
/Users/michael/learngit
$ git init //初始化仓库
Initialized empty Git repository in /Users/michael/learngit/.git/
2.将文件添加到仓库
- 编写一个readme.txt文件
Git is a version control system.
Git is free software.
$ git add readme.txt //先添加文件
$ git commit -m "wrote a readme file" //然后提交文件,-m用于说明描述
[master (root-commit) eaadf4e] wrote a readme file
1 file changed, 2 insertions(+) //提示:一个文件被改,两行被插入
create mode 100644 readme.txt
3.时间变换
1.查看
- 修改readme.txt文件
Git is a distributed version control system.
Git is free software.
$ 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 //查看最近修改的不同
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt //a样的文件用-表示
+++ b/readme.txt //b样的文件用+表
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
Git is free software.
2.版本回退
- 修改readme.txt
Git is a distributed version control system.
Git is free software distributed under the GPL.
- 提交
$ git add readme.txt
$ git commit -m "append GPL"
[master 1094adb] append GPL
1 file changed, 1 insertion(+), 1 deletion(-)
- 查看版本
$ git log --pretty=oneline
1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) append GPL
e475afc93c209a690c39c13a46716e8fa000c366 add distributed //前面表示提交的id号,后面是描述
eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0 wrote a readme file
- 回退版本,找到要回退版本的提交id的前几位
$ git reset --hard 1094a
HEAD is now at 83b0afe append GPL
- 现在,你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办?
Git提供了一个命令git reflog用来记录你的每一次命令
$ git reflog
e475afc HEAD@{1}: reset: moving to HEAD^
1094adb (HEAD -> master) HEAD@{2}: commit: append GPL
e475afc HEAD@{3}: commit: add distributed
eaadf4e HEAD@{4}: commit (initial): wrote a readme file
4.工作区和暂存区
-
工作区(Working Directory):就是你在电脑里能看到的目录
-
工作区有一个隐藏目录.git,是Git的版本库。
-
stage:暂存区
-
还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
把文件往Git版本库里添加的时候,是一定要两步的,不然你修改了也没用:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
5.撤销修改
- 自修改后还没有被放到暂存区:git checkout – filename可以丢弃工作区的修改:
- 已经添加到暂存区后,又作了修改:git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区
6.删除文件
$ git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"
[master d46f35e] remove test.txt
1 file changed, 1 deletion(-)
delete mode 100644 test.txt
万一删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout -- test.txt