前提
在我们安装好IDEA后,如果我们的Git安装在默认路径下,IDEA会自动找到Git的位置,否则我们就需要在IDEA中配置一下Git。
第一步:在磁盘中创建一个文件夹(用于存放我们待上传的项目文件)。
例如:Git_File
第二步:在该文件夹(Git_File)下创建一个IDEA项目。
例如:GitTest
第三步:在IDEA中,VCS—Import into Version Control—Create Git Repository,然后选择项目文件(GitTest,一定不要选错,是项目文件),这时候在项目文件夹下就会多出一个.git的隐藏文件。
第四步:在添加到暂存区之前,我们要把不需要git帮我们管理的文件去除掉。
我们需要创建一个.gitignore的隐藏文件,通过这个文件来配置我们需要忽略管理的文件
首先我们需要在IDEA中添加一个插件ignore,添加方法如下:
Setting—Plugins—搜索ignore,安装,然后重启IDEA即可
重启完后,重新打开IEDA会出现提示,点击Create .gitignore即可。如下图:
如果未出现提示,还可以这样项目名上右击鼠标,如下图:
点击完之后,会弹出一个窗口询问我们要忽略那些文件,肯定是一些配置文件啦
第五步:将项目添加到暂存区,如下图。
第六步:将文件推送到我们的本地仓库。
问题原因:
远程仓认为,本次的推送(第一次推送)的文件可能和自己不相关,所以拒绝push。
解决方法:
打开项目文件夹,在项目文件夹中右键选择:Git Bash Here,然后依次执行下面的命令:
git pull
git pull origin master
git pull origin master --allow-unrelated-histories
在执行上面这句代码的时候,可能进入编辑状态,输入wq然后回车,即可退出编辑状态
执行完之后,然后在IDEA中再次推送就可以成功
前面说完怎样向远程仓库中push文件,现在就要说说如何从远程仓库中拉取文件。
第一步:打开IDEA
第二步:导入项目(从现有资源创建项目)
第四步:接下来就next,然后finish即可。
第五步:设置项目为maven管理项目
View—Tool Windows—Maven Projects
如果我们的项目和远程仓库建立了联系,就可以从远程仓库中拉取文件,例如:
添加了远程仓库链接,就与远程仓库建立了联系,我们就可以从远程仓库中拉取文件。
方法如下图:
问题一:为什么我们要从远程仓库拉取文件,克隆一下不就完事了?
因为我们一个项目开发是需要一个周期的,也不是一个人在开发,项目中的文件通常会
变,当我们克隆过一次项目之后,后面项目改变,我们就可以直接拉取,把最新的项目拉
取过来,然后基于这个项目进行开发,这样会很方便。
注意:一般都是拉取主分支。
我都是一个人开发,只有推送,从不拉取。。。。。。。
问题二:为什么我们和远程仓库建立一次连接,关闭软件再打开就不用再次建立连接了那?
这个我们可以在我们windows凭据中找到答案
Git就是一个版本管理工具,如何查看之前的版本信息那,我们可以在IDEA中这样做。
打开此文件—>在此文件上右击鼠标—>选择Git—>选择Compare with
Git的远程仓库并不在我们本地,当我们从远程仓库中克隆,拉取,推送文件的时候,就会涉及到网络数据传输,Git支持多种网络传输协议。
HTTPS协议就不介绍了,下面就来介绍一些SSH协议:
第一步:本地操作
id_rsa(私钥)
和id_rsa.pub(公钥)
这两个文件,有就看第二步,没有就跟着下面的步骤进行创建。在Git Bash Here中执行下面的命令:
$ ssh-keygen -t rsa -C "[email protected]"
注意ssh-keygen之间没有空格
然后回车,询问保存key的位置,默认是在括号里的路径下,你可以修改,也可以不做修改
,我不做修改,再按回车,询问是否设置密码,我不设置密码,再按回车,确认密码,同
样不输入密码。
这时用户下的.ssh目录里就会有id_rsa和id_rsa.pub这两个文件
第二步:在GitHub中操作
New SSH key
。执行完上面的步骤之后,就可以通过SSH协议进行数据传输了,也就是你可以使用刚才配置的计算机,使用SSH协议从远程仓库中拉取数据了。
个人感觉使用Git Bash Here
比使用IDEA中的Git要方便,因为IDEA也是调用我们安装的Git,不同的小可爱有不同的喜好,你不能指望所有人都喜欢吃香蕉,吃橘子也挺好。
最后送上常用的git命令:
命令:git status
命令:git add [file name]
git rm --cached [file name]
命令:git commit -m "提交描述"
命令:git remote remove origin
命令:git remote add origin [远程仓库地址]
命令:git remote -v
命令:git push origin master
git log:显示详细信息
git log --pretty=oneline:显示简洁的信息
git log --oneline:显示更简洁的信息