# git
## git的简介
代码管理工具,其特点是:分布式管理代码,有分支,代码回退,代码合并(团队开发)
## git安装
1,先安装软件到本地电脑
2,配置本地电脑全局git的账户和邮箱
1.git config --global user.name "名字”
2.git config --global user.email "qq邮箱"
3.生成本地的公钥和密钥
ssh-keygen -t rsa -C "qq邮箱"连续回车三次,得到一个.ssh文件夹
把本机的公钥添加到远程的账户的ssh公钥里,目的是让本地电脑和远程账户进行关联。
公钥位置"c:/users/admin/.ssh/rsa_id.pub"把这个文件使用txt打开,复制里面代码张贴到远程的ssh公钥里
##仓库的创建和基础使用
1,现在项目中创建一个git仓库
git init 目的是为了在当前项目中长生一个.'git'文件夹,一个项目就做一次
2.暂存区存储
git add . 或'git add *'如果你执行单纯的把一个文件存入暂存区“git add filename”
3.把暂存区的内容存入真正的本地仓库中
git commit -m “本地你具体干了什么的一个标识内容”
## 高级使用代码回退
1查看历史提交记录,目的是为了获取提交的id
git log
在git bash 命令窗口里,不可以是快捷复制和粘贴,只能选择右键copy或paste
2.复制commitid用来代码回退
git reset --hard commitid
## 查看仓库状态
git status
## 本地仓库和远程仓库的关联和上传于下载
1. 本地仓库关联远程仓库
git remote add origin 线上的git仓库地址
仓库地址,前缀必须是git@XXX开头的,不能是https的,
2.上传本地仓库到远程仓库【必须联网】
第一次上传:'git push -u origin master' 把本地仓库的内容上传到远程仓库的master分支上。
## git 工作流程
安装并配置git在电脑上
在项目中初始化仓库:git init
每次项目中改变内容后,都要先存入暂存区:git add*
再从暂存区存入本地仓库:git commit -m 'log'
从本地仓库上传远程仓库:git push 如果是第一次上传:git push -u origin master
总结:git add .>git commit -m 'log' >git push
## 克隆代码
git clone 项目地址 克隆可以克隆所有公开的项目
## 拉取远程仓库代码到本地
git pull
## git仓库权限
对于开发项目我们可以克隆下来但是没有权限去修改
如果你想修改需要另外一个人给你权限
## 代码冲突问题
当多人操作同一个文件是,在该文件同一个位置都写了内容,这个时候git的合并策略就会失败,然后就产生代码冲突
## 解决冲突
首先在项目中手动解决冲突
再存入本地
在上传到远程
注意事项
仓库里不能嵌套仓库
什么时候使用git init 初始化仓库
## 分支管理
创建分支:git branch name
切换分支:git checkout name
创建并切换到新分支:git checkout -b name
第一次上传新分支到远程:git push origin name以后就直接 git push
克隆指定分支:git clone -b name 仓库地址 -b是--branch的缩写
删除本地分支:git branch -a name -d是 --delete的缩写
删除远程分支:git push origin -d name
【注意】每次切换分支前,一定要确保分支全都是存储的状态,删除某个分支的时候我们不能在被删除的分支中
## 标签tab管理
创建标签:git tag name 或者 git tag -a name -m 'log'
查看标签;git tag
删除标签:git tab -d name
上传标签:git push origin name
使用tab去回退代码
查看tag:git tag
查看指定tab的详细信息:git show name获取提交的commitid
根据id回退代码 git rest --hard commitid
## 代码合并
git merge '合并名name' 合并指定分之到当前分支