Git 是一个免费开源的分布式版本控制系统,它也一个基于内容寻址的存储系统。 Git 是由 Linux 的创造者 Linus Torvalds。 现如今Git已成为行业标准版本控制供给
一 git本地操作
1. git安装
Windows下可安装gitbash
2. 配置 Git 使用 git config 此为创建 Git 仓库前必须完成的配置。
git config --global user.name "Li Xinyang"
git config --global user.email "lixinyang1026@gmail.com"
3. 初始化仓库
git init [path]
git init [path] --bare
在初始化仓库后会出现一个隐藏的目录 .git 其中包括了所有的当前仓库的版本信息和本地设置文件(.git/config)。
4. 查询状态
git status 此命令可以帮助开发者在下面三对关系中找出文件状态的变化。
形象的解释如下:
5. 添加文件到暂存区(同时跟踪文件)git add
6. 删除文件 git remove
git rm //从暂存区和工作区目录中删除
7. 提交版本记录 git commit
git commit 可以根据暂存区的内容创建一个提交目录
直接提交工作区的内容git commit -a -m 'message',工作中不建议这样操作。
8. git log 可以用来显示提交是记录信息。
包括:
- 提交编号 SHA-1 编码的 HASH 标示符
- git-config 配置的提交者信息
- 提交日期
- 提交描述信息
9. 显示版本差异 git diff(difference)
git diff 显示工作目录与暂存区的差异
10. 命令总结
二 github和git远程仓库
远程操作可以将本地仓库推送至远程仓库服务器。Git 支持许多主流的通信协议,其中包括 Local、HTTP、SSH、还有Git。服务器只应该是作为同步之用(被动接受既可)
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:
- 第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
- 登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key:
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
1. 用命令git clone克隆一个本地库:
$ git clone git@github.com:michaelliao/gitskills.git
Cloning into 'gitskills'...
remote: Counting objects:
3, done.remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
$ cd gitskills
$ lsREADME.md
注意把Git库的地址换成你自己的.
2. 推送 git push
git push 可以将当期的全部版本提交提交推送至远程仓库,其完成了提交历史的完全不复制并同时移动复制版本的 HEAD 与 Branch。
$ git push -u origin master
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
git的常用操作大致如上,更多的操作可以日后学习。