主要命令:
$ git checkout -- readme.txt #使用暂存区或版本库中最新的版本替换工作区版本 $ git reset HEAD readme.txt # 撤消指定文件的add操作,用版本库中的版本替换暂存区的版本 $ git rm test.txt #提交删除操作 ---------------------------------------------------------------------------------- $ git remote add origin git@github.com:michaelliao/learngit.git #为远程库添加origin版本,并将其与本地版本库绑定 $ git push -u origin master #将本地版本库master的内容推送到绑定的origin版本,第一次推送使用-u. $ git clone git@github.com:michaelliao/gitskills.git #在当前目录下新建版本库并拉取远端版本
7. 撤销修改
7.1. 对于还没有git add的修改,可以使用git checkout丢弃工作区的修改
$ git checkout -- readme.txt
readme.txt如果没有被git add,那么回到master库中的状态(即上一次git commit时的状态)
readme.txt如果已经git add了,又进行了修改,那么回到git add时的状态.
总的来说是回到最近一次git commit或git add时的状态.
7.2. 对于还没有git commit但已经git add的修改,可以用git reset HEAD file撤销修改
$ git reset HEAD readme.txt
Unstaged changes after reset:
M readme.txt
此时的操作只针对这个git add的文件,与之前都是针对版本(git commit)有不同.这时相当于回到git add之前的状态.
7.3. 对于已经git commit的修改,可以使用git reset -- hard HEAD^回到上一个版本
8. 删除文件
8.1. 删除文件之后,要同步到版本库则使用git rm
该命令与git add相似,都是将工作区的修改放入暂存区(不过一个是添加操作,一个是删除操作)
$ git rm test.txt rm 'test.txt'
8.2. 删除文件之后发现删掉了,要回退则使用git checkout -- test.txt
git checkout 的功能是用(master)版本库里的版本替换工作区的版本
$ git checkout -- test.txt
9. 远程仓库
git不仅可以在本地提供代码仓库的服务,它更可以提供一种分布式的代码仓库服务.将代码托管到分布式代码仓库服务提供商Github.这个你就可以在任何一台机器上重建已存在Github上的代码仓库了.另外,因为Github上免费的代码仓库服务是公开代码的.因此,你可以在上面找到很多别人的代码clone到本地.
使用Github的服务需要在Github注册帐号并将本地的SSH Hey提交给Github to make pair of local repo and Github account
步骤如下:
第1步:创建SSH Key $ ssh-keygen -t rsa -C "youremail@example.com" 上面的email地址要与你在github上的一致. 完成之后在.ssh目录下可以找到id_rsa与id_rsa.pub两个文件,pub文件是公钥,可以发给别人检测你用私钥(id_rsa)加密的内容 第2步: 登陆GitHub,打开“Account settings”,“SSH Keys”页面: 点击'add ssh key',并把id_rsa.pub中的内容填入
10. 添加远程库
10.1 场景
你在本地建立了一个git库,需要在github上也建立同样的git库,然后将本地的内容同步到远端去.这样就可以在任何一台机器上对这个库进行修改了.
第1步: 登录github,Create a new repo 第2步: 输入repo name,点击create repository 第3步: 在本地repo目录下运行以下命令将远程repo与本地关联 $ git remote add origin git@github.com:michaelliao/learngit.git 第4步: 将本地库内容推送到远程,即将master推送到远端 git push -u origin master 这里的-u参数是将本地master与远程master关联
10.2 push master
在把本地master和远端origin关联之后只要使用以下命令就可以把本地的版本库推送到远端了
$
git push origin master
11. 从远程库克隆
11.1. 场景
已经有远程库了,需要从远程库克隆代码到本地.这里的远程库可以是别人的免费库,也可以是你自己的
11.2. 拉取
$ git clone git@github.com:michaelliao/gitskills.git
这条命令会在当前目录下创建gitskills文件夹作为工作目录.所以clone之前先请选好文件夹