查看状态
- 使用
git status
随时掌握版本库的状态,看有没有要提交的修改; - 使用
git diff
查看修改的内容。
版本回退
- 使用
git log
查看文件修改的历史记录,每一次提交都有一个commit id,版本回退就是将HEAD指针指向以前的commit id; - 使用
git reflog
查看历史命令,后悔药来着; - 使用
git reset --hard xxx
回退到某个版本,xxx可以用HEAD^
代替表示上一版本,用HEAD^^
表示上上个版本,用HEAD~100
表示上一百个版本,用<commit id>
表示commit id对应的版本。
工作区和暂存区
我们之前在工作区(或者说我们的工作目录)修改文件后,总是使用git add file
然后使用git commit
。这是因为我们要将修改add
到暂存区stage中,然后一次commit
到当前分支(当前是master)。
管理修改
Git管理的是对文件的修改而不是文件内容。对文件的修改如果没有add
到暂存区中,就不会加到commit
中。
使用git diff HEAD -- file
查看工作区与版本库最新版本的不同。
撤销修改
- 改乱了工作区中文件,还没添加到暂存区:
git checkout -- file
撤销工作区的修改; - 改乱了工作区中文件,而且还添加到了暂存区:
git reset HEAD file
撤销暂存区的修改,然后再git checkout -- file
撤销工作区的修改; - 改乱了工作区文件的,而且还提交了:版本回退。
删除文件
git rm file
并且git commit
,从版本库中删除某一文件。当然,后悔的话还可以版本回退,但是会丢失最近一次提交后你修改的内容;- 在工作区中误删了文件了,可以从版本库中还原:
git checkout -- file
,因为删除文件被认为是一次修改;
关联远程仓库
- 注册Github账号;
- 执行
ssh-keygen -t rsa -C "youremail@example.com"
创建SSH Key,默认保存到用户主目录的.ssh
文件夹中的id_rsa
和id_rsa.pub
文件中; - 在Github的设置那里添加SSH keys,复制
id_rsa.pub
文件的内容; - 在Github上创建一个仓库;
- 执行
git remote add origin https://github.com/LinLshare/test.git
关联远程仓库;- - 执行
git push -u origin master
推送本地仓库到远程仓库(-u
用来关联本地和远程的master分支,之后的更改推送不需要这个参数);
克隆远程仓库
- 创建远程仓库比如test;
- 克隆远程仓库到本地
git clone https://github.com/LinLshare/test.git