据说微信搜索《Java鱼仔》会变动强!java
本文收录于JavaStarter ,里面有我完整的Java系列文章,学习或面试均可以看看哦git
(一)Git是用来作什么的
若是你进入的是一家互联网公司,那么必定会听到版本控制这个东西,所谓版本控制就是在开发过程当中对文件、代码等内容的修改历史进行记录,方便查看、备份以及回滚历史代码。github
同时能够用于管理多人协同开发项目,经过版本控制实现多我的并行开发,提升开发效率。面试
Git就是版本控制的一种实现,一样的还有Svn等。windows
Git又能够称为分布式版本控制,全部的版本信息仓库所有同步到每隔用户的本地,能够离线在本地提交,在有网络的时候push到相应的服务器上便可。bash
(二)Git的使用
Git的使用通常都是用命令行,若是是windows电脑,安装完成以后鼠标右键能够看到git bash和git gui,建议使用git bash。mac电脑安装完成以后直接在终端使用git命令便可。服务器
2.1 配置信息
#查看全部配置信息 git config --list #查看系统配置 git config --system --list #查看全局配置 git config --global --list
2.2 设置用户名和邮箱
git config --global user.name "javayz" git config --global user.email "xxx@qq.com"
前面两步属于git安装以后的配置部分,接下来介绍git的使用微信
2.3 初始化本地git仓库
若是想把本地的某个文件夹变成git仓库,只须要执行网络
git init
2.4 克隆远程仓库
若是想把远程仓库的代码下载到本地,只须要在某个目录下执行ssh
git clone [url] git clone -b [branchname] [url]
其中-b表示克隆指定分支的代码
2.5 提交文件三步曲
#添加文件到暂存区 git add filename #将暂存区中的文件提交到本地 git commit -m "提交信息" git push
咱们也可使用直接对代码进行拉取和提交,更加方便。
(三)Git的工做原理
git中有四个重要的区域:
工做目录(Working Directory):日常存放项目代码的地方
暂存区(Stage):临时存放改动
资源库(Repsitory/Git Directory):提交的全部版本的数据
远程仓库(Remote Directory):代码托管的平台
工做目录-->git add files-->暂存区-->git commit-->资源库-->git push-->远程仓库
(四)Git忽略文件上传
在主目录下创建.gitignore文件能够忽略提交某些文件
*.txt #忽略全部.txt结尾的文件 !a.txt #a.txt除外 temp/ #忽略temp目录下的文件
(五)ssh免密登录
ssh-keygen -t rsa -C "xxx@qq.com"
连续三次回车后在.ssh目录下会生成一个id_rsa和id_rsa.pub,把id_rsa.pub中的字符串保存到gitee设置中的ssh公钥中,便可免密提交下载代码
(六)分支管理
分支是分布式版本控制的核心,各个分支之间互相不关联,基本上每次版本迭代都会建立一个新的分支出来。
#列出全部分支 git branch #列出全部远程分支 git branch -r #新建一个分支,但依然停留在当前分支 git branch [branch-name] #新建一个分支,并切换到该分支 git checkout -b [branch] #合并指定分支到当前分支 git merge [branch] #删除分支 git branch -d [branch-name] #删除远程分支 git push origin --delete [branch-name] git branch -dr [remote/branch]
(七)Git与Idea的集成
Idea自己就支持对Git的集成,当咱们clone一个项目到本地后,用Idea打开后会发现右上角多出了git的标志:
第一个蓝色箭头表示把远程仓库的代码pull到本地。
第二个绿色对勾表示提交代码,勾选要commit和push的代码,填写提交信息,而后commit and push便可。
第三个闹钟形状的是提交历史,可查看历史提交信息。
(八)总结
对于工做来讲,只须要会用Idea提交拉取代码便可。可是咱们须要了解git的工做原理。我是鱼仔,咱们下期再见!