- 创建一个空目录
$ mkdir learngit //创建一个文件夹
$ cd learngit
$ pwd
/Users/xxx/learngit
- 初始化仓库(把这个目录变成Git可以管理的仓库)
git init
- 编辑一个readme.txt 文件
vi readme.txt
- 查看文件内容
cat readme.txt
- 查看工作区当前的状态
git status
- 如果git status告诉你有文件被修改过,用git diff可以查看修改内容
git diff
- 将本地项目工作区的所有文件添加到暂存区
git add .
git add readme.txt
- 将暂存区的文件提交到本地仓库(commit可以一次提交很多文件)
git commit -m "first commit"
时光机
- HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令
git reset --hard commit_id
- 显示从最近到最远的提交日志
git log
- 要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。
暂存区
工作区有一个隐藏目录.git
,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。
- 把readme.txt文件在工作区的修改全部撤销
git checkout -- readme.txt
关联到远程仓库
- 将本地仓库关联到远程仓库上
git remote add origin https://github.com/example/test.git
- 拉取远程仓库代码到本地,如果有冲突, 解决冲突
git pull --rebase origin master
- 将本地的master分支推送到远程仓库上
git push -u origin master
注意:-u 选项会指定一个默认仓库,这里就是origin,后面就可以不加任何参数使用git push