一:Git是什么?
Git是目前世界上最先进的分布式版本控制系统。
二:SVN与Git的最主要的区别?
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
三. 用ssh建立连接
在了解之前,先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:
第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:
ssh-keygen -t rsa –C “youremail@example.com”, 由于我本地此前运行过一次,所以本地有,如下所示:
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。
点击 Add Key,你就应该可以看到已经添加的key。
四.总结创建与合并分支命令如下:
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name
五.Git基本常用命令如下:
git config --global user.name XX
git config --global user.email XX
git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
ssh -keygen 生成一对密钥 id_rsa.pub 公钥
mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径。
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit –m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
git push origin master Git会把master分支推送到远程库对应的远程分支上
git log 查看历史记录
git log --list
git log --oneline
git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本
git reset --hard 工作区和暂存区回退
git reset --mixed 工作区不受影响
git reset --soft 只回退版本库
git reset HEAD index.html
git reset 版本号 index.html
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout -- XX 把XX文件在工作区的修改全部撤销。
git checkout –b dev 创建dev分支 并切换到dev分支上
git checkout master 切换回master分支
git rm XX 删除XX文件
git rm --cached XX 删除暂存区文件不删除工作区文件
git rm -f XX 删除工作区和暂存区文件
git mv index.html index1.html 重命名,先删除index再新建index1再add
git branch 查看当前所有的分支
git branch -m dev fix 将dev名改为fix
git branch –d dev 删除dev分支
git branch name 创建分支
git merge dev 在当前的分支上合并dev分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息 \