Git介绍
Git是开发中必须用到的分布式的版本控制软件,这是其官网Git。
我们可以在官网中找到其说明文档,十分的详细并且使用简单。
下载并安装
官网说明文档已经十分详细了,里面包含了weindows、Linux、mac的安装步骤,这里就拿Windows举例:
下载完后,一直点下一步即可,安装完毕后再桌面右击鼠标如果出现下面两个选型说明安装完毕
本地仓库
由于Git是分布式的版本控制软件,所以我们首先要学习的就是如何将代码提交到本地,然后提交至远端代码库。
版本提交
在Git中,我们首先要做的就是对一个项目进行管理。
进入项目文件夹,执行初始化命令即可由Git接管当前项目的版本控制。如下所示
然后右键,选择Git Bash Here后进入终端,让Git接管MyProject文件夹。
然后输入git init (将这个目录变成Git可以管理的仓库)当命令生效后,会生成一个.git的隐藏文件夹,如下所示
然后我们可以使用git status来检测当前文件夹中被管理的文件状态。
此时新增的文件和修改后的文件均属于未被管理的文件,呈现红色,如上所示。
此时就需要我们管理该文件,使用add命令,告诉git,把文件添加到仓库。
- git add 文件夹名 # 仅仅管理一个文件
- git add . # 代表当前目录下的所有文件
当我们管理后再使用git status 查看状态后就变成绿色了,然后使用git commot告诉Git,把文件提交到仓库中,如下所示:
这里Git告诉你又异常,让你进行用户信息的配置,输入账号密码等信息。我们只需要按照提示配置一下个人信息即可,配置后再次提交如下所示:
到此我们就完整的提交了我们的文件到远程仓库中,可以使用git log查看一下生成的版本。
我们总结下我们刚才用到的命令:
命令 | 描述 |
---|---|
git init | 初始化git,让Git接管当前文件夹 |
git status | 查看当前文件状态,新增或修改的文件都呈现红色,而执行了add命令后会呈现绿色 |
git add [./filename] | 将文件进行提交 |
git commit -m "描述消息" | 生成一个版本 |
git log | 查看版本信息。 |
版本回滚
高版本回滚到低版本
- 首先使用git log查看提交日志
- 然后使用git reset --hard 版本号进行回滚
同样的也可以从低版本回滚到高版本
- 首先就不能使用git log而是使用git reflog查看日志
- 然后使用git reset --hard 版本号进行回滚
照例我们总结一下
命令 | 描述 |
---|---|
git log | 查看版本提交信息,用于高版本回滚低版本 |
git reflog | 查看版本提交信息,用于低版本回滚高版本 |
git reset --hard 版本号 | 进行版本回滚 |
分区概念
在上面的操作中,我们可以发现一个文件有多个状态:
- 以控制状态:指该文件可以被git管理的状态,目前来讲所有位于git init文件夹下的文件都是以控制状态
- 以变动状态:当有新文件,或原本文件被修改后,使用git status呈现红色状态的文件
- 暂存区状态:指的是执行git add命令后,红色状态文件变为绿色状态的文件
- 版本库状态:指的是执行git commit命令后,提交至版
这些不同的状态对应不同的分区,由于此时我们做的都是本地版本控制,所以这里的版本库即为本地版本库
使用分支
分支是Git中十分重要的一个概念,它可以让你处理更多的突发情况,以及让你更好的进行协同操作开发。让你在开发中,多个分支互不影响,有正式版本,和开发版本等等,如下所示
这样我们不同的分支中所看到的已提交版本并不相同,当在某一分支中创建新的分支,该子分支将继承当前分支节点中的所有文件,默认是有一个master分支。
常用命令如下所示
命令 | 描述 |
---|---|
git branch | 查看当前项目的所有分支(分支前*表示当前处于的分支) |
git branch 分支名 | 创建一个新的分支 |
git checkout 分支名 | 切换分支 |
git merge 要合并的分支 | 合并分支(先切换分支) |
git branch -d 分支名 | 删除分支 |
合并冲突
由于分支冲突,可能会出现多条分支修改同一处代码的情况,这个时候就出现了合并冲突的问题,由于Git并不知道听谁的,所以就全部将其保留,由你进行手动修改。
远程推送
上面讲的很热闹,但是都是基于本地仓库的,真正在使用的时候,是要和其他人进行协同操作的,这也是Git的一大优势。
Git是一款分布式的版本控制软件,可以选择的远程版本库很多,这里就介绍我们最常用的GItHub。
首先就是注册一个用户,这里就不演示了。
创建仓库
当我们登录GitHub后,首先要做的就是常见一个远程仓库。首先现打开仓库页面,
然后点击NEW新建一个仓库,如下所示
创建完成后将会看到下面的页面
到此为止我们的仓库就创建完毕了,后面就可以使用了
推送代码
按照上面的提示我们开始推送代码到GitHub
git remote add origin https://https://github.com/iszhonghu/Test.gitgit push -u origin master
然后就可以看到我们的文件成功上传了
这里只是上传的master分支,如果要是想上传dev分支,则还是需要输入push命令
git push -u origin dev
总结:
命令 | 描述 |
---|---|
git remote add 别名 仓库地址 | 给仓库取一个别名 |
git push -u origin 分支名 | 将分支推送到远程仓库 |
需要注意的是:
推送代码时,需要一个一个分支进行推送
拉取代码
既然可以推送代码也就可以拉取代码,以方便实现协同办公。
首先要创建一个文件夹来保存代码,然后直接拉取即可,
命令 | 描述 |
---|---|
git clone 远程仓库地址 | 克隆远程仓库所有代码(仅第一次使用) |
git pull origin 分支名 | 增量更新某一分支中的代码 |
分区概念
由于涉及到了远程仓库,所以又多了一个分区,如下所示
其中使用增量更新的pull实际上可以拆分为两条命令
- git fetch origin 分支 将远程版本库中的分支代码拉到本地版本库中
- git marge origin 分支 将本地版本库中代码合并到本地分支中
其他操作
配置文件
Git的配置文件有三个部分:
仓库级的配置文件:在仓库的 .git/.gitconfig,该配置文件只对所在的仓库有效。
- local
全局配置文件:Mac系统在 ~/.gitconfig,Windows系统在 C:\Users<用户名>.gitconfig。
- global
系统级的配置文件:在Git的安装目录(Mac系统下安装目录在 /usr/local/git)的 etc 文件夹中的 gitconfig。
- system
SSH
使用SSH可以实现代码的推送和拉取
生成公钥和秘钥
- ssh-keygen
- 默认放在/.ssh目录下,其中id_rsa.pub为公钥,id_rsa为私钥
总结
下面是一些在本文章中有的命令:
命令 | 描述 |
---|---|
git init | 初始化 |
git status | 查看状态 |
git add | 管理指定文件 |
git commit -m "描述" | 生成版本 |
git log | 查看版本记录(之前) |
git reflog | 查看版本记录(之后) |
git reset --hard 版本号 | 版本回滚 |
git branch | 查看所有分支 |
git branch 分支名 | 创建新分支 |
git checkout 分支名 | 切换分支 |
git merge | 分支合并 |
git branch -d 分支名 | 删除分支 |
git remote add 别名 地址 | 远程仓库取别名 |
git push -u 别名 分支 | 推送某分支到远程仓库 |
git clone 地址 | 克隆远程仓库代码 |
git pull 别名 分支 | 拉取远程仓库中某一分支代码,增量更新 |
git rebase -i HEAD~条数 | 版本合并 |
最后
- 如果觉得看完有收获,希望能关注一下,顺便给我点个赞,这将会是我更新的最大动力,感谢各位的支持
- 欢迎各位关注我的公众号【java冢狐】,专注于java和计算机基础知识,保证让你看完有所收获,不信你打我
- 求一键三连:点赞、转发、在看。
- 如果看完有不同的意见或者建议,欢迎多多评论一起交流。感谢各位的支持以及厚爱。
——我是冢狐,和你一样热爱编程。
欢迎关注公众号"Java冢狐"获取最新消息
原文转载:http://www.shaoqun.com/a/512555.html
慧聪商务网:https://www.ikjzd.com/w/1836
Git介绍Git是开发中必须用到的分布式的版本控制软件,这是其官网Git。我们可以在官网中找到其说明文档,十分的详细并且使用简单。下载并安装官网说明文档已经十分详细了,里面包含了weindows、Linux、mac的安装步骤,这里就拿Windows举例:下载完后,一直点下一步即可,安装完毕后再桌面右击鼠标如果出现下面两个选型说明安装完毕本地仓库由于Git是分布式的版本控制软件,所以我们首先要学习的
好东东网:好东东网
孙琦:孙琦
广州流花湖公园门票价格是多少?:广州流花湖公园门票价格是多少?
亚马逊PPC广告可以添加商标吗?有哪些需要注意的地方?:亚马逊PPC广告可以添加商标吗?有哪些需要注意的地方?
西冲好玩吗?风景怎么样?:西冲好玩吗?风景怎么样?
No comments:
Post a Comment