简介
Git是分布式版本控制系统,同时是内容管理系统、工作管理系统等,与Linux命令完全兼容。
与集中式版本控制系统(比如SVN)不同,Git是分布式的,可以通过Git从服务器上把完整的Git仓库克隆到本地。
优点
- 协同修改
- 数据备份
- 版本管理
- 权限控制
- 历史记录
Git工作流程
将工作区的修改添加(add)到暂存区,暂存区的修改提交(commit)到本地仓库,本地仓库推送(push)到远程仓库。
clone是将项目全部从远程仓库拉到本地仓库,然后本地仓库检出(checkout)到工作区。
pull是将远程仓库中更新的部分拉取下来。
Git基础指令
一个项目对应一个工作区
所以每个项目需要创建单独的工作区(文件夹)
初始化本地仓库
指令:git init
创建一个版本库(隐藏文件夹) .git
查看状态
指令:git status
将工作区的修改添加到暂存区(add)
指令:
- git add 文件名 添加某个文件到暂存区
- git add . 将当前目录下所有文件添加到暂存区
配置邮箱和用户名
指令:
- git config --global user.email "邮箱"
- git config --global user.name "用户名"
提交到本地仓库(commit)
指令:
- git commit -m ‘描述信息’ 将文件从暂存区提交到本地仓库
- git commit -a -m '描述信息' 将文件从工作区添加到暂存区再提交到本地仓库(提交过一次后可以使用,即用于提交跟踪过的文件)
查看日志
指令:
- 详细显示:git log
- 简化日志:git log --pretty=oneline(有完整的版本号)
- 简短日志:git reflog(有较短的版本号)
删除文件
指令:git rm 文件名
被删除的文件会添加到暂存区
版本前进|回退
指令:git reset --hard 版本号(局部版本号)
通过恢复到指定版本,可以恢复被删除的文件。
远程仓库操作
Gitee,码云,国内目前最大的代码托管平台,近几年国内开发者的首选。
创建远程仓库
可使用两种方式,https协议或SSH协议
1.使用仓库的https协议
将本地仓库的内容推送到远程仓库时,需要输入远程仓库的用户名和密码。
出现用户名密码输入错误,再使用时还会使用之前的用户名密码,可在控制面板中删除记录。
2.使用仓库的SSH协议
将本地仓库的内容推送到远程仓库时,不需要输入用户名和密码。
需要生成公钥和私钥,将公钥配置在远程仓库中。
推送到远程仓库
1.设置全局用户名和邮箱
2.将工作区的修改提交到本地仓库
3.设置远程仓库地址 git remote add origin 仓库地址
4.将本地仓库主分支的内容推送到远程仓库主分支中 git push -u origin master
-u 可建立本地分支与远端分支的关联关系
可使用 git branch -vv 查看本地分支和远程分支的关系
两个分支为关联状态后,将本地仓库内容提交到远程仓库可直接使用 git push
克隆远程仓库到本地
指令:git clone 远程仓库地址
如果使用的是https的地址,允许被克隆可直接克隆。
如果使用的是SSH的地址,则gitee必须配置本地git的公钥。
分支
在版本控制过程中,使用多条线同时推进多个任务,每条线成为一个分支。多个分支同时推进,且各个分支互不影响。
常见分支
默认只创建主分支,可以创建其他分支。
1.Master:主分支
2.Develop:开发分支
3.Release:预发行分支
4.Features:功能分支
5.HotFix:Bug修复分支
分支指令
1.查看分支 指令:git branch
2.创建分支 指令:git branch 分支名
3.切换分支 指令:git checkout 分支名
4.推送本地分支到远程 指令:git push origin 本地分支名:远程分支名
前提:和远程仓库是连接状态
5.合并分支 指令:git merge --no-f 分支名(把指定分支内容合并到当前分支)
切换到主分支,合并其他分支。(其他分支不能合并主分支)
6.删除本地分支 指令:git branch -d 分支名
不能删除所在分支,需切换其他分支再删除。
7.删除远程分支 指令:git push origin --delete 远程分支名
IDEA操作Git
推送产生冲突问题
远程仓库发生了修改,用户向远程仓库推送时,会弹出提示
1.没有冲突时
可以选择:
(1)直接推送到远程仓库并合并(Merge)
(2)将远程仓库修改的内容拉取(pull)到本地仓库,再重新推送(push)到远程仓库
2.产生冲突
原因:两个人修改了同一区域的代码,一人已提交到远程仓库,另一人未拉取最新版本且将修改后的代码推送到远程仓库,产生冲突。
预防:修改代码前拉取(pull)代码文章来源:https://www.toymoban.com/news/detail-803938.html
解决:合并(Merge)时可一起参考自己的代码、他人的代码、修改前的代码这三个版本,在Result代码区域修改完成后应用(Apply)。文章来源地址https://www.toymoban.com/news/detail-803938.html
到了这里,关于Git:版本控制工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!