再见二丁目

再见二丁目

Eyes on me - 하나가 되는 순간 전 세계가 주목합니다.

Git学习初始阶段小结



学习了一个多星期的Git,浅谈一下自己的收获吧


什么是Git

目前对Git的认识,大概是以下几个标签:开源的,分布式的,版本控制系统
那么问题来了,究竟什么是分布式,什么是集中式,什么是版本控制系统?

  • 通过目前的学习来看,所谓集中式的版本控制系统(比如CVS和SVN),版本库是集中在中央服务器的,工作时需要从中央服务器取得新版本,工作后再推送到中央服务器
  • 分布式版本管理系统则不同,每个人的电脑上都有一个版本库,因此不需要联网就可以使用

Git的安装

安装默认选项一直装,最后完成注意设置:

1
2
$git config --global user.name "Wyman"
$git config --global user.email "159434637@qq.com"


创建版本库

初始化
1
$git init
查看
1
2
3
4
5
6
7
8
$ ls -ah                   (查看目录下文件)
$ git status (掌握仓库当前状态,最好常看,以免有文件未更新)
$ git diff (查看修改后状态)
$ git log (查看版本信息)
$ git log --pretty=oneline (查看版本信息,以精简的形式)
$ cat test.txt (查看test的内容)
$ git reflog (查看每一次的命令)
$ git branch (查看当前分支)
提交上传更新文件
1
2
$git add test.txt                        (把工作区修改提交到暂存区)
$git commit -m "wrote a test file" (把暂存区修改提交到版本库)

Git重要操作

版本回退
1
2
$ git reset --hard HEAD^    (回退到上一个版本)
$ git reset --hard 1094a (回退到制定版本,1094a为版本id前几位)
撤销修改
1
2
3
4
5
6
7
8
9
1.只是在工作区修改,为提交到暂存区:
$ git checkout -- test.txt
---------------------------------
2.修改提交到了暂存区:
$ git reset HEAD test.txt
$ git checkout -- test.txt
---------------------------------
3.修改提交到了版本库,但是未将本地版本库推送到远程库:
$ git reset --hard HEAD^ 或 git reset --hard 1094a
删除文件
1
2
3
4
5
$ rm test.txt
(此时如果误删了可以用 $ git checkout -- test.txt恢复)
$ git rm test.txt
$ git commit -m "remove test.txt"
(完全删除了也没关系,可以用版本回退)