git

109 阅读5分钟

git的简介

代码管理工具,其特点是:分布式管理代码,有分支,代码回退,代码合并(团队开发)

 

安装和配置秘钥公钥

  1. 先安装软件到本地电脑上

  2. 配置本地电脑的全局git的账户和邮箱(一个电脑只做一次)

  3. git config --global user.name '账户'

  4. git config --global user.email '邮箱'

  5. 生成本地公钥和秘钥

  6. ssh-keygen -t rsa -C '邮箱' 连续三次回车,得到一个.ssh文件夹

  7. 把本机的公钥添加到远程的账户的ssh公钥李,目的是让本地电脑和远程账户进行关联。

  8. 公钥的位置:C:/user/admin/.ssh/rsa_id.pub把这个文件使用md程序打开,复制里面的代码,粘贴到远程账户里的公钥

 

 

仓库的创建和基础的使用

  1. 首先在项目中创建一个git仓库

git init 目的是为了在当前的项目中产生一个.git文件夹,一个项目只做一次就行

  1. 暂存区存储

git add .git add *如果你只想单纯的把一个指定的文件夹存入暂存区git add fileName

  1. 把暂存区的内容存入真正的本地仓库

git commit -m '标识内容'

 

 

赶集使用-代码回退

  1. 查看历史的提交记录,目的是为了获取提交的id

git log 只能查看正常提交的记录,对回退后的记录就会丢失

git reflog能查看所有的提交记录

【注意】在git bash 命令窗口里,不可以使用快捷复制和粘贴,只能右键

  1. 复制commitid用来代码的回退

git reset --hard commitid

 

 

查看仓库的状态

git status

 

本地仓库和远程仓库的关联和上传与下载

  1. 本地仓库关联远程仓库

git remote add origin 线上的git仓库地址

【注意】仓库地址,前缀必须是git@xxx开头的,不可以是https

  1. 上传本地仓库到我们远程仓库中【必须联网】

【如果是第一次上传】:git push -u origin "master"把本地仓库的内容上传到远程仓库的master分支上 【如果不是第一次上传】:git push

 

 

git的工作流程

  1. 安装并配置git在电脑上【每个电脑只做一次】

  2. 在项目中初始化仓库:git init 【每个项目只做一次】

  3. 每次项目中改变了内容,都要先存入暂存区:git add .

  4. 再从暂存区存入到本地仓库:git commit -m 'log'

  5. 再从本地仓库上传到远程仓库:git push

  6. 总结:git add . > git commit -m 'log' > git push

 

克隆代码

  1. git clone  项目地址

 

 

git仓库权限

  1. 对于开源的项目,我可以克隆下来,但是没有权限去修改远程的开源项目,因为没有权限

  2. 如果想修改别人的仓库内容,需要获取权限

 

 

代码冲突问题

  1. 当多人操作同一个文件的时候,在该文件的同一个位置都书写了内容,这个时候git合并策略就会失效,产生代码冲突

 

 

解决冲突

  1. 首先在项目中手动解决冲突

  2. 再存入本地

  3. 再上传到远程

 

 

【注意事项】

 

 

 

创建分支

  1. 创建分支:git branch name

  2. 切换分支:git checkout name

  3. 第一次上传新分支到远程:git push origin name以后直接git push

  4. 克隆指定分支:git clone -b name 仓库地址-b 是--branch缩写

  5. 删除本地分支:git branch -D name-D 是--delete缩写

  6. 删除远程分支:git push origin -d name-d 是--delete缩写

  7. 【注意】每次切换分支前,一定要确保当前分支全是存储的状态,对于要删除的分支不能在他的仓库中,删除某个分支的时候,我们不能在当前的分支

  8. 标签tag管理

  9. 创建标签:git tag name

  10. 查看标签:git tag

  11. 删除标签:git tag -d name

  12. 上传标签:git push origin name

  13. 使用tag去回退代码

  14. 查看taggit tag

  15. 查看置顶tag详细信息:git show name获取提交的commitid

  16. 根据id回退代码“git reset --hard commitid

 

 

代码合并

git merge name合并当前分支

 

团队开发流程

  1. 一开始,所有人都需要克隆我的仓库到本地

  2. 接下来是开发代码

  3. 先把自己的改动存入本地:git add .,git commit -m '自己的'

  4. 自己的改动存入本地后,先拉取一下远程代码:git pull为了保持和远程是一样的,都是新的记录

  5. 【z重点】一定要注意看pull后代的代码提示,如果有冲突要先解决冲突,再存入本地,再上传到远程

【5.1】如果没有提示冲突,意味着git帮我们把远程代码和本地代码进行了合并,然后再git pull上传本地仓库到远程仓库中

  1. 总结:每次改动项目后,显存本地,在拉取远程,最后提交push

 

 

公司里的团队协作

  1. 首先本地和线上分支都有一个自己的分支:dev-songyu dev-shenyi dev-laowang

  2. 以后的开发全都在自己的分支中操作:dev-songyu:提交到该分支,然后拉取master分支的代码,左后提交到远程dev-songyu

  3. 去线上仓库发起一个合并请求,然后项目组长审查代码,项目组长负责把我的分值代码合并到远程dev-songyu

 

 

一键快速解决冲突

  1. vscode里使用ctrl+shift+p输入:merge选择

  2. 保留远程的代码,选择>merge conflict:Accept All incoming

  3. 保留自己的代码,选择:>merge conflict:Accept All current