赞
踩
二十一关卡:Git
一、Git概述
1.SVN:SVN是集中式版本控制系统,版本库是集中放在中央服务器的,开发人员需要从中央服务器下载最新版本,开发完成后把自己的代码提交到中央服务器。
2.SVN缺点:
(1)服务器单点故障
(2)容错性差
3.Git:Git是分布式版本控制系统,分为两种类型的仓库:本地仓库和远程仓库
4.本地仓库:是在开发人员自己电脑上的Git仓库
5.远程仓库::是在远程服务器上的Git仓库
6.Clone:克隆,就是将远程仓库复制到本地
7.Push:推送,就是将本地仓库代码上传到远程仓库
8.Pull:拉取,就是将远程仓库代码下载到本地
9.Git工作流程
(1)从远程仓库中克隆到本地仓库
(2)从本地仓库中checkout代码然后进行代码修改
(3)在提交前先将代码提交到暂存区
(4)提交到本地仓库,本地仓库中保存修改代码的各个版本
(5)修改完后需要和团队成员共享代码时,将代码push到远程仓库
10.Git的安装: <https://git-scm.com/download>在该官网中下载对应自己电脑的版本,安装全部默认安装即可,如果想要修改安装地址,开始安装时修改一下安装路径就ok了;安装完成后查看一下最近安装程序:如果其中有Git GuiHere:Git提供的图形软件;Git Bash:两个配置文件则安装成功
二、Git代码托管服务
1.GitHub(https://github.com/)是一个面向开源及私有项目的托管平台,因为支支持Git作为唯一的版本库格式进行托管,故名GitHub
2.码云(https://gitee.com/)是国内一个代码托管平台,由于服务器在国内,相比Github,码云速度会更快
3.GitLab(https:/about.gitlab.com/)是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来web服务
三、Git常用命令
1.环境配置:(保存在~/.gitconfig文件中)
(1)设置用户信息:
①设置用户名:git config--global user .name "itcast"
②设置email地址:git config--user.email"hello@itcast.cn"
(2)查看配置信息
①git config--list
②git config user.name
2.获取git仓库
(1)在本地初始化一个Git仓库:在对应的GIt仓库文件目录打开Git bash窗口,执行git init(初始化),生产一个隐藏文件夹.git则创建成功
(2)从远程仓库克隆:在自己想要保存的的目录下打开Git Bash执行git clone 网址,回车在对应的文件下出现你所要克隆的文件时,则克隆成功,第一次克隆时需要登录自己在码云的账户
出现以上这种情况,是因为你的账户或密码输错了,当然也有可能全错,在第一次克隆时,输入的用户可以是你在码云中的手机号也有可能是邮箱,这都不要紧,打开控制面板选择用户账号
点击本地账户选择管理你的凭据,出现以下两种凭据,选择windowas凭据选择gitee修改账户或密码
更改正确后回到Git Bash重新执行命令,出现以下情况及克隆成功!
3.Git相关概念
(1)版本库:前面看到的.git隐藏文件就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
(2)工作目录(工作区):包含.git文件夹的目录就是工作目录,主要用于存放开发的代码。
(3)暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方。
4.远程仓库的操作
(1)查看远程仓库:运行 git remote 命令。 它会列出指定的每一个远程服务器的简写。 如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字 git remote -v ;sd ssm 进入远程ssm仓库后才可以查看
(2)将本地文件添加远程仓库:运行 git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个可以引用的简写 url:网络地址;add后跟仓库名
(3)从本地移除远程仓库: git remote rm (此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库)
(4)抓取:git fetch 是从远程仓库获取最新版本到本地仓库,不会自动merge(合并数据)
(5)拉取:git pull ;(get pull origin master )是从远程仓库获取最新版本并merge到本地仓库;注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数--allow-unrelated-histories
(6)合并分支:git merge origin/master
(7)将本地代码推送到远程仓库:git push origin master
5.本地仓库的操作
(1)git status 查看文件状态;也可以使用git status –s 使输出信息更加简洁
(2)git add 将未跟踪的文件加入暂存区
(4)git commit -m "add hello.txt" 将暂存区的文件修改提交到本地仓库
6.分支语句
(1)列出所有的本地分支:git branch
(2)列出所有的远程分支:git branch -r
(3)列出所有的本地分支和远程分支:git branch -a
(4)创建分支:git branch 分支名称(*代表当前处于的分支)
(5)切换分支:git chechout 分支名称
(6)如何将本地分支推送得到远程仓库:git push origin 分支名称
(7)本地分支的合并:git merge b1;想要在那个分支下合并合并其他分支一定要切换到该分支下 如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没办法合并它们,同时会提示文件冲突。此时需要我们打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决 ;合并完成后将本地分支推送到远程分支
(8)删除分支(本地):git branch -d 分支名称;如果要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,如果坚持要删除此分支,可以将命令中的-d参数改为-D;删除分支不能再被删除的分支中删除
(9)删除远程仓库的分支:git push
origin –d (branchName 分支名称)
(10)Git标签是指某个分支在某个特定的时间点的状态。通过标签,可以很方便的切换到标签记录时的状态
(11)列出已有的标签:git tag
(12)查看tag信息:git show 标签名
(13)创建标签:git tag 标签名
(14)将本地标签推送到远程仓库:git push origin 标签名
(15)检出标签:git checkout -b 分支名称 标签名
(16)删除本地标签:git tag -d 标签名【tag】
(17)删除远程tag:git push origin:refs/tags/【tag】标签名
四、IDEA中使用Git
1.在IDEA中配置Git
(1)安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。
(2)选择File→Settings打开设置窗口,找到Version Control下的git选项:选择git的安装目录后可以点击“Test”按钮测试是否正确配置
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。