--1 初始化git仓库
$ git init
Initialized empty Git repository in D:/workDev/Git/Test/.git/
--6 查看当前工作空间的状态
$ git status
--7 git 把文件提交到缓冲区,并且增加追踪
$ git add good.txt
$ git add . 提交当前目录下的全部文件
--8 从缓存区中移除
$ git rm --cached good.txt
-- 9 修改直接提交,并且增加备注
$ git commit -m "my second commit,modify good.txt" good.txt
-- 10 查看提交日志
$ git log
$ git log --pretty=oneline
$ git log --oneline
$ git reflog good.txt
--2 设置项目标签
$ git config user.name shiye
$ git config user.email 24377@qq.com
-- 3 查看配置信息
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[user]
name = shiye
email = 24377@qq.com
-- 4 设置全局标签
$ git config --global user.name shiye
$ git config --global user.email 283837@qq.com
--5 查看全局配置文件
$ cat ~/.gitconfig
[user]
name = shiye
email = 2437766749@qq.com
-- 10 回退到指定版本
$ git reset --hard 0a466a3 //跳转到指定hash版本 (删除文件也可以找回来)
HEAD is now at 0a466a3 my first commit shiye
$ git reset --hard HEAD^ //后退一步
HEAD is now at 352ca76 commit 2
$ git reset --hard HEAD~n //后退n步
HEAD is now at 1eb3daf my second commit,modify good.txt
--11 版本比较差异
$ git diff apple.txt //和暂存库进行数据比较
$ git diff HEAD apple.txt //和本地库进行数据比较
$ git diff 4b498b4 apple.txt //和“4b498b4” 这个版本比较
--12 查看所有分支
$ git branch -v
--13 创建一个分支
$ git branch hot_fix
--14 切换到一个分支
$ git checkout hot_fix
Switched to branch 'hot_fix'
--15 合并分支 (必须切换到需要被合并的主干上)
shiye@DESKTOP-CQ5TVK6 MINGW64 /d/workDev/Git/Test (master)
$ git merge hot_fix
--16 删除分支
$ git branch -d 0-v
$ git branch -D 0-v //强制删除分支
--17 冲突解决
$ vim apple.txt //编辑冲突文件
$ git add . //添加到缓冲区
$ git commit -m "合并冲突" //提交到本地库
$ git status //查看文件状态
-- 18 向本地添加环境添加远程仓库的地址
$ git remote add shiye https://github.com/xiaoshi1994/shiye.git
-- 19 查看本地环境添加的远程仓库地址
$ git remote -v
shiye https://github.com/xiaoshi1994/shiye.git (fetch)
shiye https://github.com/xiaoshi1994/shiye.git (push)
-- 20 推送到远程仓库 shiye 是上面的远程仓库缩写, master :是推送到哪个分支
$ git push shiye master
-- 21 下载项目到本地
$ git clone https://github.com/xiaoshi1994/shiye.git
Cloning into 'shiye'...
remote: Enumerating objects: 15, done.
remote: Total 15 (delta 0), reused 0 (delta 0), pack-reused 15
Unpacking objects: 100% (15/15), done.
--22 pull 以及他的分解
$ git fetch origin master //1 fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/xiaoshi1994/shiye
* branch master -> FETCH_HEAD
1f927aa..b592d32 master -> origin/master
$ git merge origin/master //2 merge
Updating 1f927aa..b592d32
Fast-forward
test.text | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
$ cat test.text //3 查看文件
$ git pull origin master //4 pull=fetch+merge
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/xiaoshi1994/shiye
* branch master -> FETCH_HEAD
b592d32..574eca4 master -> origin/master
Updating b592d32..574eca4
Fast-forward
test.text | 2 ++
1 file changed, 2 insertions(+)
--23 ssh免密测试
1 $ cd ~
2 $ rm -rvf .ssh
3 $ cd .ssh
4 $ ssh-keygen -t rsa -C 2437766749@qq.com
shiye@DESKTOP-CQ5TVK6 MINGW64 ~
5 $ cd .ssh
shiye@DESKTOP-CQ5TVK6 MINGW64 ~/.ssh
6 $ ll
total 5
-rw-r--r-- 1 shiye 197121 1823 10月 26 16:36 id_rsa
-rw-r--r-- 1 shiye 197121 399 10月 26 16:36 id_rsa.pub
shiye@DESKTOP-CQ5TVK6 MINGW64 ~/.ssh
7 $ cat id_rsa.pub
ssh-rsa *********
shiye@DESKTOP-CQ5TVK6 MINGW64 /d/workDev/Git/shiye/shiye (master)
9 $ git remote -v
origin https://github.com/xiaoshi1994/shiye.git (fetch)
origin https://github.com/xiaoshi1994/shiye.git (push)
10 $ git remote add origin_ssh git@github.com:xiaoshi1994/shiye.git
11 $ git remote -v
origin https://github.com/xiaoshi1994/shiye.git (fetch)
origin https://github.com/xiaoshi1994/shiye.git (push)
origin_ssh git@github.com:xiaoshi1994/shiye.git (fetch)
origin_ssh git@github.com:xiaoshi1994/shiye.git (push)
12 $ git push origin_ssh master
Eclipe 中增加忽略提交文件
1 编写忽略文件 C:\Users\shiye\Java.gitignore 详细可以参考:https://github.com/github/gitignore
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.gitignore
.classpath
.project
.settings
target
2. 再 .gitconfig 中增加配置
[user]
name = shiye
email = shiye@qq.com
[core]
excludesfile = C:/Users/shiye/Java.gitignore
3.重启eclipse
然后转换成Maven工程