以下内容来自百度:
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。
对我们来说,就是个可以托管我们一个团队写的代码,不容易丢失和错误地更改。
git 的工作过程:
工作空间 ①==> cache暂存区 ②==> 分支 ③==> 服务器
以下是今天学到的git的几个简单用法:
git init
初始化一个git仓库,生成.git文件后才可以使用git命令,否则会产生如图所示错误。
git add
是将文件从本地的工作空间装进cache暂存区中,就是过程①
格式:git add 文件名
用git status 可以看到文件的状态,字体为绿色说明该文件已经被装入暂存区中。
git commit
该命令是把暂存区中的文件装到分支中,就是过程③
格式:git commit -m "注释"
使用完该命令后再用git status命令查看文件状态后会发现t.txt文件不见了,此时t.txt文件已经被装到分支中了。
关于为什么add了后还要commit之后才能push的问题我不太理解,这里链接到一个网站,有各种大牛的看法
git remote , git push
将history中的内容上传到服务器中
要关联⼀一个远程库,使⽤用命令
git remote add origin git@server-name:path/repo-name.git
(使用该条命令前需要先在该用户的GIT下创建一个仓库,获得该仓库地址)
关联后,使⽤用命令
git push -u origin master
推送master分⽀支的所有内容
git clone
格式:git clone URL
将远程资源克隆到本地
其他常用命令:
git checkout -b
创建并进入分支
格式:git checkout -b 分支名
git branch -av
显示各分支
git merge 分支名
将所处分支与该分支合并
git commit -am
同时add和commit
git pull
将服务端文件拉到history并merge
git reset
git reset --hard HEAD^
返回上回commit的内容
git reset --hard HEAD^^
返回到上上次commit内容,以此类推,100次为
git reset --hard HEAD~100
HEAD是指针,永远指向最后一次commit的内容
git branch
列出所有分支名,并显示现在所处分支
SSH密钥配置:
由于本地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"
你需要把邮件地址换成你⾃自⼰己的邮件地址,然后⼀一路回车,无需设置密码。 如果⼀一切顺利的话,可以在⽤用户主目录⾥里找到.ssh目录,里面有id_rsa
和id_rsa.pub
两个⽂文 件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可 以放⼼心地告诉任何⼈人。 第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页⾯: 点“Add SSH Key”,填上任意Title,在Key⽂文本框⾥里粘贴id_rsa.pub⽂文件的内容。