git是什么工具?
版本控制工具
git起到了什么作用?
项目中起到的作用:代码管理,上传,下载,版本回退......
下载安装git
网址:
测试是否安装成功:git --version
从仓库下载代码
国内:码云
网址:
国外:GitHub
网址:
命令:git clone 地址
Mac 和 Windows操作系统创建仓库及提交代码
创建仓库: https://gitee.com/
1.1、访问到码云平台:
1.2、注册==》登录账号
1.3、登录后==》新建仓库【填写信息】
***使用Readme文件初始化这个仓库【勾选上】
将本地代码以及文件提交到远程仓库
2.1、git全局设置【设置用户名以及邮箱】
git config --global user.name "账号名称"
git config --global user.email "账号邮箱"
2.2、远程仓库和本地机器的连接
设置===》SSH公钥
2.3、生成SSH公钥:
a > 终端运行:
***回车 + y
b >
把运行后的代码复制粘贴到【SSH公钥】配置中
2.4、上传代码
//提交所有代码到中转站【注意后面有一个空格+.】
git add .
//提交所有代码到本地仓库
git commit -m "这里写注释的内容"
//提交本地仓库到码云
git push
提交多次代码如何查看之前代码
第一步:点击这里的提交
第二步:点击浏览文件
第三步:点击克隆/下载
第四步:点击下载 zip
第五步:有一个验证,完成验证就下载了
git入门总结
一、团队开发会遇到什么样的问题?
1.1、备份多个版本,费时间,费空间
1.2、难以恢复到以前的版本
1.3、难以解决代码冲突问题
1.4、难以追溯问题以及修改人和修改时间
1.5、无法进行权限控制
二、svn 和 git 的区别
svn:集中式 ==》如果突然断网了,代码就上传不了远程仓库了
git:分布式 ==》如果断网了,可以先保存到本地,等网好了在上传到远程仓库
git命令
1.1、初始化仓库 ==》git init
1.2、查看配置 ==》git config -l
***进公司做项目,必配 user.name 和 user.email
1.3、查看状态 ==》git status
红色的===》没有被git管理
绿色的===》存储在版本库暂缓区
1.4、添加到暂缓区 ==》git add .
*** . 代表所有文件
*** 指定某一个文件 git add 文件名称
1.5、添加到分支中 ==》git commit -m "注释内容"
1.6、查看修改文件 ==》git diff
***查看某一个文件:git diff 文件名称
***查看所有文件:git diff
1.7、查看修改历史 ==》git log
1.8、查看修改历史【简单形式】==》git reflog
1.9、回到之前的版本
回到上一个版本:git reset --hard HEAD^
回到指定版本:git reset --hard 版本号
多人开发解决冲突问题
1、克隆下载代码
2、配置局部的 用户名和邮箱
git config user.name "用户名"
git config user.email "邮箱"
3、git add .
4、git commit -m "注释的内容"
5、git push ==》可能会报错
6、git push 为什么会报错?
如果远程仓库有人更新了代码,那么我们不能直接的去 git push
解决:我们必须先把远程仓库的代码拉取下来,然后再push
git pull ==》拉取代码
git push
代码冲突是怎么发生的,以及该如何解决代码冲突问题
问题:比如同事之间同时修改了一个文件或者一个代码可能就会冲突
解决:手动把那些 git 报错的内容删掉,再去和同事商量哪一块需要留着或着删除的,需要手动去清除,这就是如何解决冲突以及冲突是如何发生的
分支的操作
***默认是主分支:master
1、查看本地分支 ==》git branch
2、新建分支 ==》git branch 分支名称
3、切换分支 ==》git checkout 分支名称
4、如何查看远程仓库的分支 ==》git branch -r
5、本地分支提交到远程仓库 ==》git push --set-upstream origin 分支名称
6、删除本地分支 ==》git branch -d 分支名称
7、如何删除远程仓库的分支 ==》git push origin --delete 分支名称
合并分支
1、分支都是独立的,不会互相影响
***注意:在一个分支下创建另外一个新的分支,新的分支会继承旧分支之前的操作
2、合并分支
git merge 分支名称
注意:如果当前是在master分支下写入 git merge dev,那么 master 和 dev 会进行合并,相当于 master + dev
master += dev
gitflow工作流【中、大型项目】才会用
master 用于保存上线版本代码,他创建了develop 分支
develop 用于保存相对稳定版本的代码,所有的 feature 都是 develop 分支创建的
feature 用于开发某几个功能,不同的功能可能会创建不同的分支
***feature/login
***feature/list
release 用于代码上线前的准备【测试,bug修复】,是 develop 创建的
***release/v1.0
bugfix 用于修复不紧急的 bug
hotfix 用于修复紧急的 bug
相关作者
- 获取点赞0
- 文章阅读量80
评论()