Git教程学习(三)

时间:2024-10-07 17:34:08

主要命令:

$ 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之前先请选好文件夹