这是我看廖雪峰老师的Git教程做的笔记,只是一个总结,大家可以去原地址看详细内容。
Git是分布式版本控制系统
Git是Linus花了两周时间用C语言写的。
- 版本控制——便于修改查找
- 分布式——不必联网,安全
git安装完成后,进行用户名和邮件设置
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
利用cd
命令切换到想存放的目录中,pwd
查看当前目录
- 初始化,创建Git仓库
$ git init
- 将文件添加到版本库
编写一个readme.txt
文件,内容如下:
Git is a version control system
Git is free software
第一步,用命令git add
告诉Git,把文件添加到仓库:
$ git add readme.txt
第二步,用命令git commit
告诉Git,把文件提交到仓库:
$ git commit -m "wrote a readme file"
查看工作区状态
$ git status
如果文件被修改过,利用git diff readme.txt
查看修改的内容
利用git log
查看提交历史,以便确定要退回到哪个版本
git reflog
查看命令历史,以便确定要回到未来哪个版本
HEAD
指向的版本就是当前版本
在版本间穿梭
$ git reset --hard commit_id
工作区(Working Directory)
版本库(repository)——隐藏目录.git
暂存区(stage/index)
分支master
指向master的指针HEAD
-
用
git add
把文件添加进去,实际上就是把文件修改添加到暂存区; -
用
git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。
管理修改
每次修改后,都尽量用git add
将其添加到暂存区中,可以最后用git commit -m " "
提交到版本库中。
撤销修改
- 当改乱了工作区文件的内容时,用命令
git checkout -- readme.txt
可以丢弃工作区的修改。 - 当改乱了内容并添加到了暂存区,用命令
git reset HEAD readme.txt
可以撤销暂存区的修改,再用git checkout --readme.txt
丢弃工作区的修改。 - 当修改后提交到版本库时,利用版本回退命令
git reset --hard commit_ID
回退版本,前提是没有推送到远程库。
删除文件
git rm
删除文件时,会删除工作区和暂存区中的文件,如果将文件提交到了版本库,
- 可以用
git reset commit_ID filename
将文件载入到暂存区,再用git checkout -- filename
将文件从暂存区载入到工作区。 - 用
git commit -m " "
提交到版本库,删除版本库中的文件。
rm
删除文件时。只会删除工作区中的文件。