Git介绍
git是一款源代码管理工具(版本控制工具)
人工去处理不同版本的代码(做相应的备份)会很麻烦
##Git安装
##初始化Git仓储/仓库
- 这个仓库会存放git对我们项目代码进行备份的文件
- 新建项目
打开项目文件夹(工作区:不包括.git)
右键git bash
命令:‘git init’
执行:初始化空的git仓库在新建项目目录(默认是隐藏文件夹.git)
##配置个人信息(姓名和邮箱)
- 就是在git中设置当前使用的用户是谁
- 每一次备份都会把当前备份者的信息存储
- 命令:
+ 配置用户名:‘ git config -- global user.name " zhy" ’
+ 配置邮箱:‘git config -- global user.email "[email protected]" ’
##把代码存储到.git仓储中
- 1. 把代码放到仓储的门口(暂存区)
+ ‘ git add ./readme.md ’ 把指定的文件放到git仓门口
+ ‘ git add ./ ’ 把所有修改 增加 删除的文件添加到git仓门口
- 2. 把仓储门口的代码放到里面的房间中去(版本库)
+ ‘ git commit -m "这是对这次添加的东西的说明" ’
##查看当前状态
- 可以用来查看当前代码有没有被放到存储仓中去
- 命令: " git status"
##可以一次性把我们修改的代码放到版本库里(房间)
- ‘ git commit --all -m "一些说明" ’
+ -- all 表示把所有修改的文件提交到版本库
##git中忽略文件
- .gitignore,在这个文件中可以设置要被忽略的文件或者目录
- 被忽略的文件不会被提交到存储仓里面去
- 在.gitignore 中可以书写要被忽略的文件的路径,以 / 开头,
一行写一个路径,这些路径所对应的文件都会被忽略
不会被提交到仓储中
+ 写法
* ‘ /.idea ’ 会忽略 .idea 文件
* ‘ / js ’ 会忽略js目录里的所有文件
* ‘ / js / * . * ’ 会忽略js目录里的所有文件
##查看日志
- ‘ git log ’查看历史提交的日志
- ‘ git log --oneline’ 可以看到简洁版的日志
##回退到指定的版本
- ‘ git reset --hard Head~0 ’
+ 表示回退到上一次代码提交时的状态
- ‘ git reset --hard Head~1 ’
+ 表示回退到上上次代码提交时的状态
- ‘ git reset --hard [版本号] ‘
+ 可以通过版本号精确地回退到某一次提交的状态
- ‘ git reflog ’
+ 可以看到每一次切换版本的记录
##git分支
- 默认是有一个主分支master
###创建分支
- ‘ git branch dev ’
+ 创建了一个dev分支
+ 在创建时dev分支里的东西和master分支里的东西是一样的
###切换分支
- ‘ git checkout dev ‘
+ 切换到指定的分支,这里是切换到名为dev的分支
‘ git branch ‘ 可以查看当前有哪些分支
###合并分支
- ‘ git merge dev ‘
+ 合并分支内容,把当前分支与指定的分支(dev)合并
+ 当前分支指的是‘ git branch ’ 命令输出的前面带 * 的分支
- 合并时如果有冲突,需要手动去处理,处理后还需要再提交一次
###删除分支
- ‘ git branch -d dev ’
+ 删除dev分支,不能在当前分支中删除
###GitHub
- https://github.com
- 不是git 只是一个网站
- 只不过这个网站提供了允许通过git上传代码的功能
###提交代码到github(当做git服务器来用)
- ‘ git push [地址] master ’
+ 事例:git push https://github.com/zhao827538259/test112.git master
+ 会把当前分支的内容上传到远程的master分支上
###从gitHub上下载代码到本地
- ‘ git pull [地址] master ’
+ 事例:git pull https://github.com/zhao827538259/test112.git master
+ 会把远程分支的数据得到:(* 本地要初始化一个仓储 git init*)
- ‘ git clone [地址] ‘
+ 会得到远程仓储相同的数据,如果多次执行会覆盖本地内容
###ssh方式上传代码
- 公钥,私钥 两者之间是有关联的
- 生成公钥 和 私钥
+ 在桌面打开 Git Bash Here 输入命令 ‘ ssh-keygen -t rsa -C "[email protected] " ‘
+ 在.ssh文件中找到公钥 复制内容
+ 在gitHub中添加公钥
+ 事例:git push [email protected]:zhao827538259/test119.git master
*********************************************
ssh提交 VS https 提交
git push [email protected]:zhao827538259/test119.git master VS git push https://github.com/zhao827538259/test112.git master
ssh提交不需要每次输入账号和密码
###在pull和push操作同时进行时
- 先pull 再push
###push和pull时的简写方法
- 步骤:
+ ‘ git remote add origin [email protected]:zhao827538259/test112.git ’
+ ‘ git push origin -u master ’
+ ‘ git push ’
- 当我们在push时,加上-u参数,那么在下一次push时,我们只需要写上‘ git push ’就能上传我们的代码了。
(加上-u以后,git会把当前分支和远程的指定分支进行关联)
//来自:http://www.qdfuns.com/notes/31786/4c7562e299d30f9996792a2fa1db6319.html