git概述
Git是一个分布式版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。
- 安装完后,右键会出现
git
菜单,选中Git Bash Here
,弹出命令窗口 - 输入命令
git --version
查看git
版本
git使用前配置
- 配置提交人姓名:
git config --global user.name 提交人姓名
- 配置提交人姓名:
git config --global user.email 提交人邮箱
- 查看git配置信息:
git config --list
git使用
- git init` 初始化git仓库
git status
查看文件状态git add 文件列表
追踪文件git commit -m 提交信息
向仓库中提交代码git log
查看提交记录git checkout 文件
撤销,用暂存区中的文件覆盖工作目录中的文件git rm --cached 文件名
将文件从暂存区中删除git reset --hard 提交ID
恢复git仓库中指定版本的项目
git分支
git branch
查看分支git branch 分支名称
创建分支- 在哪条分支上输入的命令,就是在哪条分支上进行的创建
- git branch develop -创建了一个develop的分支
git checkout 分支名称
切换分支- git checkout develop -切换到develop分支
- 注意:当切换分支的时候,需要把暂存区里面的文件进行提交,不然会暂存区里面的文件会跟着到切换的这条分支上
- 当切换会主分支的时候,就看不到其他分支里面的文件了
git merge 要合并进来的分名
合并分支- 如果当前分支的工作已经完成,就可以合并到到其他分支
- 需要分清谁要合并谁,例如我们在开发分支上完成了功能,应该合并到主分支上,所以我们要站在主分支角度来进行合并
- 虽然进行了合并,但是开发分支还是存在
git branch -d 分支名称
删除分支(分支被合并后才允许删除)(-D 强制删除)- 分支工作已经完成,就可以进行删除
- git branch -d develop
- 如果分支没有进行合并,那么默认是不能被删除,这是由于git有分支保护机制
- 如果想强行删除,把-d 改成-D : git branch -D develop
git暂时保存更改
在git中,可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作。
- 存储临时改动: git stash
- 恢复改动: git stash pop
Github
访问github首页,点击 Sign up 连接。(注册)
-
git remote add 远程仓库地址别名 远程仓库地址
-
git push -u 远程仓库地址或别名 本地分支名称:
-u 记住推送地址及分支,下次推送只需要输入git push即可
多人协作开发
因为A已经创建了远程的仓库,所以程序员B就不需要创建仓库,直接把远程的仓库克隆一份到本地即可
git clone 远程仓库地址
A将远程仓库中的最新内容拉取到本地
拉取利用pull命令,拉取是读操作,不需要校验身份
git pull origin master
git忽略清单
将不需要被git
管理的文件名字添加到此文件中,在执行git
命令的时候,git
就会忽略这些文件
git
忽略清单文件名称叫: .gitignore
仓库的详细说明
在仓库根目录添加一个 readme.md
文件即可,在里面写上内容,push到服务器后,默认在github
里面就能看到仓库的详细说明了
git相关命令整理
git config --global user.name //配置姓名
git config --global user.email //配置邮箱
git config --list //查看配置信息
git init //初始化本地仓库
git status //查看文件状态
git add 文件名 //添加某个文件到暂存区,如果写 . 代表当前文件夹下所有的文件、
git commit -m 日志说明 //提交到本地仓库
git log //查看提交记录
git checkout 文件名 //撤销,让暂存区文件覆盖工作区间文件
git rm --cached 文件名 //在暂存区移除相应文件
git reset --hard 提交ID //恢复到指定版本
git branch //查看分支
git branch develop //创建分支
git checkout 分支名 //切换分支
git merge 要合并的分支名//合并分支
git branch -d 分支名称 //删除分支
git clone 地址 //克隆远程仓库
git push 地址 分支名 //往服务器推送
git pull 地址 //将服务器代码拉取到本地
git remote add 名称 地址 //给地址取别名
git push -u origin 分支名 //把该分支推送到云端仓库
ssh-keygen //生成一对密钥