在Windows上安装Git:
1. 官网 https://git-scm.com/download 直接下载安装程序,然后按默认选项安装
2. 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功。
在Linux上安装Git :
首先,你可以试着输入git,看看系统有没有安装Git:
$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。
如果你碰巧用Debian或Ubuntu Linux,通过一条 sudo apt-get install git 就可以直接完成Git的安装,非常简单。
使用Git前需要做的最小配置
打开Bash,在命令行输入:
$ git config --global user.name “Your Name“
$ git config --global user.email “email@example.com“
把文件添加到版本库
1、初始化一个Git仓库,使用 git init 命令。
2、添加文件到Git仓库,两步:
使用命令 git add <file>,注意,可反复多次使用,添加多个文件;
使用命令 git commit -m <message>,完成。
版本回退
1、不断对文件进行修改,然后不断add到版本库里
$ git add <file>
2、当你觉得文件修改到一定程度需要提交,就commit到版本库里
$ git commit -m <message>
你看到的一大串类似8f03996...的是commit id(版本号),是一个SHA1计算出来的一个非常大的数字,用十六进制表示。
3、用git log命令查看提交日志
$ git log
$ git log --oneline
4、用git reset命令回退到指定版本
$ git reset --hard HEAD^
只要上面的命令行窗口还没有被关掉,你就可以顺着往上找到你想要的commit id是8f03996...,于是就可以指定回到未来的某个版本:
$ git reset --hard 8f03996
版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。
小结
- HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
- 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
- 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
添加远程库(GitHub)
创建一个新的仓库。
在GitHub上的这个mytest仓库是空的,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后把本地仓库的内容推送到GitHub仓库。
选择协议SSH
Github 支持两种同步方式“HTTPS”和“SSH”。如果使用 HTTPS 比较简单,不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。而且如果是公司配置的私有 Git 服务器一般不提供 HTTPS 方式访问,所以这里选择“SSH”方式。
生成SSH密钥:
在 windows 下打开 GitBash,执行以下命令,生成公钥和私钥:
$ ssh-keygen
在 github 上配置密钥:
使用文本编辑器打开刚刚生成的公钥( id_rsa.pub ),在 key 部分将 id_rsa.pub 文件内容添加进去,然后点击“Add SSH key”按钮完成配置。
把一个已有的本地仓库与GitHub上的mytest仓库关联
git remote add [shortname] [url]
例如:git remote add origin git@github.com:yihong-peng/mytest.git
把本地库的所有内容推送到远程库上
$ git push -u origin master
用git push命令实际上是把当前分支master推送到远程。由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
把本地修改推送至GitHub
$ git push origin master
至此,你就拥有了真正的分布式版本库。
小结