配置IDEA
2.
3.
这三步配置完后,IDEA的Terminal命令行就会变成git的命令行
测试代码发送到gitHub
1.新建一个module,如图
2.让这个module纳入git版本库进行管理。
MINGW64 /d/code
$ cd githubDemo/ #切换到module的工作目录
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo
$ git init #初始化git
Initialized empty Git repository in D:/code/githubDemo/.git/
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git status #查看当前工作区状态
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
githubDemo.iml
pom.xml
src/
target/
nothing added to commit but untracked files present (use "git add" to track)
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git add . #将所有工作区的文件纳入到缓存区
warning: LF will be replaced by CRLF in pom.xml.
The file will have its original line endings in your working directory
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git status #查看缓存区文件状态
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: githubDemo.iml
new file: pom.xml
new file: src/main/java/GitHubDemo/Demo1.java
new file: target/classes/GitHubDemo/Demo1.class
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git commit -m '这是一个gitHub测试demo' #将缓存区的所有文件提交到版本库
[master (root-commit) 7024087] 这是一个测gitHub测试demo
4 files changed, 30 insertions(+)
create mode 100644 githubDemo.iml
create mode 100644 pom.xml
create mode 100644 src/main/java/GitHubDemo/Demo1.java
create mode 100644 target/classes/GitHubDemo/Demo1.class
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git status #查看是否提交成功
On branch master
nothing to commit, working tree clean
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git log #查看提交日志
commit 70240870fbbe529d7f2d19b94bd75439ca59e575 (HEAD -> master)
Author: Rekcahherry <792796011@qq.com>
Date: Sun Aug 11 15:18:17 2019 +0800
这是一个测gitHub测试demo
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git config --global user.name gitHub的昵称#设置你在gitHub注册时的昵称
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git config --global user.name #查看是否设置正确
gitHub的昵称
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git config --global user.email gitHub的邮箱#设置你在gitHub注册时的邮箱
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git config --global user.email #查看是否设置正确
gitHub的邮箱
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git remote add origin https://github.com/../.. #设置你github项目地址,你需要先在github上创建一个跟你module名字一摸一样的仓库。
---------------------------------------------------------------------------
MINGW64 /d/code/githubDemo (master)
$ git push origin master #将module推送上去。
Enumerating objects: 13, done.
Counting objects: 100% (13/13), done.
Delta compression using up to 4 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (13/13), 1.55 KiB | 264.00 KiB/s, done.
Total 13 (delta 0), reused 0 (delta 0)
To https://github.com/.../...
* [new branch] master -> master
#出现上面信息表示推送成功。
查看结果:
有个小细节注意(针对小白):
因为我在GitHub上创建仓库时并没有勾选创建README文件。所以此时仓库什么都没有,推送就成功了,但如果勾选了README文件,即该仓库不是一个空文件夹,里面还会有一个README描述文件,此时推送就会失败。因为文件不一致,你先要将README文件使用pull拉入到你的git版本库中在进行推送才能成功。
解决办法:
第一步:
第二步:
结果:
上述第一步和第二步拉取和合并的过程也可以合并为一步:
git pull origin master --allow-unrelated-histories(该选项可以合并两个独立启动仓库的历史)
出现该问题原因:
本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。