(此文作为个人学习、回顾用,如有不足之处,请不吝指出。随理解深入,持续更新。)
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
网友评论