git 学习笔记(一)

默认在mac下学习,只简单记录命令作用,根据廖雪峰大神的网站学习

  1. 先创建一目录 learngit
   $ mkdir learngit
   $ cd learngit```

2. 通过git init命令把这个目录变成Git可以管理的仓库
   ```$ git init```

3. 通过git add命令告诉Git,把文件添加到仓库暂存区
  ``` $ git add readme.txt```

4. 通过git commit命令告诉Git,把文件提交到仓库,-m后面输入的是本次提交的说明
   ```$ git commit -m "wrote a readme file"```

5. 修改了文件内容后,可通过 git status命令可以让我们时刻掌握仓库当前的状态
   ```$ git status```

6. 查看具体修改了什么内容,通过 git diff 命令, 再次添加,提交 转到3,4步
   ```$ git diff```

7. 通过 git log 查看版本历史记录,如果输出信息太多, --pretty=oneline参数,git log  --pretty=oneline
```   $ git log 或  $ git log  --pretty=oneline```

8. 返回之前某个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
  ```$ git reset --hard HEAD^```

9. 回退后又想重新回到最最新的版本,通过 git reflog 来查看我们用过的命令
```  $ git reflog```
 这个命令列出了我们每一次提交的 commit id,通过命令  git reset --hard 04163a6cf ,可以返回最新的版本
```$  git reset --hard 04163a6cf```

10. 暂存区stage 
   ``` git add 的状态:```

![0.jpg](http://upload-images.jianshu.io/upload_images/200838-faf457aa267cb275.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

   git commit 的状态:

![1.jpg](http://upload-images.jianshu.io/upload_images/200838-272c6f1c0e651f8d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)



11.git 跟踪管理的是修改,每一次的修改都要 git add 到暂存区内,最后git commit 才能把修改提交成功

12.撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令
```git checkout -- file```
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令
```git reset HEAD file```
,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

13.删除文件
分两种情况:
一、确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit
```$ git rm test.txt  
$ git commit -m "delete test.txt" ```
二、误删文件,通过 git checkout -- test.txt 回复到最新版本
``` $ git checkout -- test.txt```

你可能感兴趣的:(git 学习笔记(一))