码迷,mamicode.com
首页 > 其他好文 > 详细

版本控制 - Git

时间:2015-08-20 20:23:50      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

此篇blog只是对 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 研读后的总结,还请各位看客细细品味原著。

一直以来,只是听说版本控制当推崇类似git这样的分布式版本控制,但之前使用的是SVN/subversion,而且也只限于会用add commit功能。所以连‘知其然’都没有做到。今天将对git理解整理如下,以便后用。

1. 设置机器身份:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

2. 初始化仓库+add/commit

初始化一个Git仓库,使用git init命令。

添加文件到Git仓库,分两步:

  • 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件;

  • 第二步,使用命令git commit,完成。

要随时掌握工作区的状态,使用git status命令。

如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

3. 版本回退

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

4. 工作区和暂存区

技术分享

5. 撤销修改

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,需要版本回退,不过前提是没有推送到远程库。

6. 删除文件

git rm用于删除版本库中的一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

7. 远程仓库

个人理解:在Git服务器上搭建远程仓库后,其他电脑可以通过clone的方式将远程仓库中的代码下载到本地。但如果想提交修改到远程仓库,就需要权限认证了,需要获得远程仓库的授权。这种认证过程在Git中是通过SSH协议实现的。拿GitHub来说,过程大体如下:

   (1) 在GitHub服务器上创建个人帐号;

   (2) 在PC上,使用git bash按照https://help.github.com/articles/generating-ssh-keys/的操作步骤获得SSH密钥,并将公钥设置到GitHub的个人账户中。

     这里的步骤实际上分:产生SSH密钥;将密钥添加到本地git仓库;将密钥添加到GitHub的个人账户中。这样使得本地git仓库和远程git仓库在传输时,获得SSH加密。

8. 关联远程版本库

要关联一个远程版本库,使用命令git remote add origin git@server-name:path/repo-name.git

关联后,使用命令git push -u origin master第一次推送master分支的所有内容,-u指建立联系;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

版本控制 - Git

标签:

原文地址:http://www.cnblogs.com/hello-yz/p/4745993.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!