1.git 的介绍

简介:Git是分布式版本控制的系统,俗称代码管理工具。

特点:分布式管理代码,有分支,代码合并等

2.安装和配置【第一次安装git需要做的事情】

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

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

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

-`git config --global user.email '28948393@qq.com'`

3.生成本地的公钥和密钥

`ssh-keygen -t rsa -C '289483936@qq.com'`

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

公钥的位置:`C:/users/admin/.ssh/rsa_id.pub` 把这个文件使用txt程序打开,复制里面的代码,粘贴到远程账号的ssh公钥里,即可。

3.仓库的创建和基础的使用

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

`git  init`

2.暂存区存储

`git  add .` 或 `git  add  *`

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

`git  commit -m '本次你具体干了什么的一个标识内容'`

4. 高级使用-代码的回退

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

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

2.复制commitid用来代码的回退    `git reset --hard  commitid`

5.查看仓库的状态

`git status`

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

1.本地仓库关联远程仓库【每个项目只做一次】 `git remote add origin 线上的git仓库地址`

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

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

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

b.【如果不是第一次上传】:`git push`

7.git的工作流程

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

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

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

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

5.从本地仓库上传到远程仓库:git  push 如果是第一次上传:git  push  -u  origin master

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

8.克隆代码

1.`git  clone  项目地址` 克隆可以克隆所有的公开的项目。

9.拉取远程仓库的代码到本地【拉取代码】

`git pull`

10代码冲突的问题【最大的问题】

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

11.解决冲突

a.首先在项目中我们手动解决冲突

b..在存入本地

c.在上传到远程

12.注意事项

a.仓库里不能嵌套仓库

b.什么时候使用git init初始化仓库?远程仓库必须是一个空仓库的时候,我们才能在本地初始化新仓库,然后在关联,最后在上传

13分支管理

a.创建分支:‘git branch name’

b.切换分支:‘git checkout name’

c.创建并切换到新分支:‘git checkout -b name’

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

e.克隆指定的分支:‘git clone -b name 仓库地址’

f.删除本地分支:‘git branch -D name’

g.删除远程分支:‘git push origin -d  name’

【注意】每次切换分支前,一定要确当前分支全部都是存储的状态,对于要删除的分支,不能再它的仓库中

14.标签tag管理

a.创建标签:’git tag name‘或者’git tag -a name -m 'log'‘

b.查看标签:’git tag‘

c.删除标签:’git tag -d name‘

d.上传标签:’git push origin name‘

f.使用tag去回退代码

’git tag‘

        (2).查看指定tag的详细信息'git show name'获取到提交到commitid

’git rest --hard commitid‘

g.代码合并

‘git merge name’    合并指定分支到当前分支

15.团队开发流程

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

b.接下来是开发代码

c.先把自己的改动存入本地:  ‘git add . ’ 'git commit -m '存自己的' ’ 

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

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

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

e.总结:每次改动项目后:先存本地,再拉取远程,最后提交push

16.公司里的团队协作

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

b.以后的开发全都再自己的分支中操作:dev-songyu:提交到该分支,然后拉取masert分支的代码,最后提交到远程的div-songyu

c.去线上仓库发起一个合并请求,然后又项目组长去审查代码,项目组长负责把我的分支合并到master上

17.vim编辑器

a.1.esc建
b..shift+冒号
c..输入!wq
e..i是进入编辑模式

18.一键快速解决冲突

a.vscode里使用‘ctrl+shift+p'输入:merge选择
b.保留远程的代码:选择’>merge conflict:Accept All incoming‘
c.保留自己的代码,选择’>merge conflict:Accept All current‘

19.克隆远程指定分支

git clone -b <指定分支名> <远程仓库地址>