(此文作为个人学习、回顾用,如有不足之处,请不吝指出。随理解深入,持续更新。)
svn与git的区别
svn是集中式版本控制系统。版本库在存放在中央服务器,必须联网才能工作。所以svn存在中央服务器dang机和断网导致开发停滞的风险。
git是分布是版本控制系统。每个电脑都是一个完整的版本库,工作不用联网。git解决了svn存在的问题。
git的基本使用
1.安装
搜索“git”,官网下载。
点击安装包
鼠标右键出现下图
说明安装成功
点击Git bash here
2.输入以下命令设置用户和邮箱
git config --global user.name "yourname" 设置用户名
git config --global user.email xxx@xx.com 设置邮箱
yourname:填自己git用户名字
xxx@xx.com:自己的邮箱
--global:全局,所有git仓库都用这个设置
ps:设置这个,才能知道谁提交了代码,做出了什么样的修改。
额外命令(可先忽略):
git config --list 查看git的设置信息
git config user.name 查看用户名字
git config user.passwork " " 设置用用户密码
3.创建一个版本库并提交文件
git的版本库(又名仓库),可以理解为git目录,这个目录里面的文件受到git的管理,在这个目录下的文件的操作,修改删除都会被记录,可以随时回到你想要的版本。
(1)创建仓库
在windows系统下,找一个文件夹右键“git bash here”,输入
git init
,把此文件设置为git仓库
目录下出现隐藏文件夹
(2)文件提交
在此文件夹创建啊一个 a.md文件。
用命令git add a.md
将a.md文件提交到git的暂存区域
用命令git commit -am "提交a.md"
将文件a.md提交到git的仓库
提交完成
ps:
git commit -am "提交a.md"
中-a
:全部 m
:注释,备注,与"提交a.md"相关。
额外(可忽略):
git status
命令:当前文件的状态。
modified:文件已经修改
git diff
命令查看修改文件的内容:
+11111是增加的内容
3.版本退回
git log
查看版本
提交日期有近到远
如果要跳回自己的版本该怎么做
git reset --hard head^
,退回上一个版本,如果要退回上2个版本git reset --hard head^^
,如果要退回N个版本,git reset --hard head~N
退回上一个版本
查看文件a.md,已经退回22222的版本
如果又退回33333的版本改如何做
使用命令git reflog
找到33333版本的cod5332 使用命令git reset --hard
4.文件的撤销与删除
在文件a.md 文件新增加一行55555
使用命令git checkout -- a.md
把工作区的修改全部撤回
如果没有commit前,命令git checkout --
还可以找回文件,
删除文件 b.md,并用用命令恢复
5.远程仓库
使用github作为git的远程仓库。
(1)首先将git和github用制作私钥和公钥链接。
注册github.
git bash输入ssh-keygen -t rsa -C "yourmail@xx.com"
ps:注意"C"要大写
输入cd ~
进入家目录,ls -a
找到文件夹.ssh
文件 id_rsa.pub存放公钥,打开文件复制里面内容。
打开github, 点击头像,Settings
点 SSH an GPG keys
右上角,New SSH key
把公钥内容复制进去,这样git与自己的github联系起来。
(2)在github创建一个空仓库,用git给它传送文件
按New
Create repository
把框里的地址复制下
git bash输入 git remote add origin git@github.com:joshua-okashi/look.git
这样git就与远程github建立起联系
输入git push -u origin master
,把本地仓库文件传送远程仓库
文件已经传入
下次在传送文件只需要git push origin master
第一此加参数-u
(3)把github项目,用git克隆到本地。
在github建立一个含有README.md文件的仓库,创建记得打钩
把 地址复制。
输入命令git clone git@github.com:joshua-okashi/help.git
已经在里面了。
(4)创建与合并分支
创建分支并且git checkout -b dev
查看当前分支git branch
在dev分支上,修改b.md的内容
切换分支git checkout master
合并分支git merge dev
(要切到主分支)b.md内容合并了。
删掉分支git branch -d dev
注意点:关于冲突
如果出现以下情况
在分支"hoka"中把a.md添加了"hello world"
切换回主分子master,同样在a.md同一行添加"你好!"合并分支
发现冲突,查看文件。
用<<<< ====符号表示哪个分支做了什么,修改文档提交,就可以解决冲突。
关于分支合并使用命令git merge –no-ff -m
,-no-ff
即使合并分支,版本信息还在。
6推送到远程仓库相关命令
查看远方仓库信息git remote
查看远程仓库的详细信息 git remote –v
命令git remote add origin git@xxxxxx
添加你远程仓库的地址,origin是后面仓库地址的标签
git push origin master
把分支master推送到origin
git remote remove dev
删除dev标签
git remote set-url origin 地址
重新设置标签地址
git remote rename gittab coding
把标签 gittab改为coding