目录
[2.1 常用分支指令](#2.1 常用分支指令)
[2.2 冲突合并](#2.2 冲突合并)
[3.1 创建远程仓库](#3.1 创建远程仓库)
[3.2 创建远程库别名](#3.2 创建远程库别名)
[3.3 push、pull、clone](#3.3 push、pull、clone)
[(1) 拉取代码时,git会自动把代码提交到本地库](#(1) 拉取代码时,git会自动把代码提交到本地库)
[(2) 克隆代码,git成功拉取了代码、初始化本地库、创建origin别名](#(2) 克隆代码,git成功拉取了代码、初始化本地库、创建origin别名)
[3.4 用ssh免密登陆](#3.4 用ssh免密登陆)
[4.1 配置git忽略文件](#4.1 配置git忽略文件)
[4.2 定位git程序](#4.2 定位git程序)
[4.3 切换版本、创建分支](#4.3 切换版本、创建分支)
[(1)Share Project on GitHub](#(1)Share Project on GitHub)
[六、如何 "删库跑路"](#六、如何 “删库跑路”)
[(1) 打开这款有名的网游](#(1) 打开这款有名的网游)
[(1)Ctrl c/v做法](#(1)Ctrl c/v做法)
一、Git宝宝版命令
Bash
# 设置签名
git config --global user.name xxx
git config --global user.email xxx@qq.com
# 初始化本地库
git init
# 查看文件
ll -a
# 编辑保存后,文件在工作区
vim hello.txt
# 删除
rm hello.txt
# 添加文件到暂存区(git add 文件名)
git add hello.txt
# 查看本地库状态
git status
# 提交文件到本地库(git commit -m "日志信息" 文件名)
git commit -m "first commit" hello.txt
# 查看精简版历史记录
git reflog
# 查看详细版历史记录
git log
初始时,分支在master、还没有提交过的一个状态、也没有创建任何文件
新创建的 hello.txt 文件在工作区,没有被添加到暂存区时的状态,文件名显示为红色
hello.txt 被添加到暂存区后文件名显示为绿色
文件被提交到本地库,可看到版本号前七位b5912ca
git log 可查看提交的具体信息包括完整版本号
文件经过 工作区->暂存区->本地库 后查看本地库状态如上图
Git 切换版本,底层是移动的HEAD指针
二、Git分支
2.1 常用分支指令
Bash
# 查看分支
git branch -v
# 创建新分支(git branch 分支名)
git branch hot-fix
# 切换分支(git checkout 分支名)
git checkout hot-fix
# 合并分支
git merge
在 hot-fix 分支下修改并提交到本地库
HEAD指向哪个分支,意味着切换到对应分支
创建新分支,意味着多创建了一个指针(master、hot-fix),它们指向具体的版本
2.2 冲突合并
冲突合并,需要手动选择代码
处理冲突代码后提交暂存、本地库就merge成功了
三、github
3.1 创建远程仓库
3.2 创建远程库别名
(1)获取远程库地址

(2)创建别名

3.3 push、pull、clone
Bash
# 查看别名
git remote -v
# git remote add 别名 远程库地址
git remote add demo https://github.com/eri-debug/git-demo.git
# git push 别名/远程库地址 分支名
git push demo master
# git pull 别名/远程库地址 分支名
git pull demo master
# git clone 远程库地址
git clone https://github.com/eri-debug/git-demo.git
(1) 拉取代码时,git会自动把代码提交到本地库

(2) 克隆代码,git成功拉取了代码、初始化本地库、创建origin别名


3.4 用ssh免密登陆
C:\Users\用户名 下 -> 右键open git bash here -> 输入命令
ssh-keygen -t rsa -C your-email@example.com -> 创建.ssh


ssh中:

获取公钥 (私钥需要放进肚兜藏起来...我说真的..哈哈)

在github的账户的Settings中:



SSH密钥配置成功


四、IDEA集成Git
4.1 配置git忽略文件
(1) C:\Users\用户名 下 -> 创建xxx.ignore文件(xxx.ignore文件模板如下:)
Markdown
# 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
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml

(2)在.gitconfig文件中引用忽略文件

4.2 定位git程序


4.3 初始化本地库

4.4 添加暂存、提交本地库


4.3 切换版本、创建分支
(1)切换版本

(2)创建分支(一下两种方式都可行)


(3)正常合并分支
(4)冲突合并



五、IDEA集成GitHub
(1)Share Project on GitHub

这我死活share不了... 你们大可尝试(相当于省了git init/add/commit/remote 、gitHub建立远程仓库、push)
(2)IDEA中push、pull
顶栏VCS、右键项目名都行


六、如何 "删库跑路"
/认真脸,如果没托管代码hai请三思...
让我们说说,如何把远程库(你自己上传的 or 别人公开的代码库克隆到自己本地来)
(1) 打开这款有名的网游
(2)获取SSH/HTTPS
前文都配置了SSH,所以为什么不用?嗯?回答我呢
理论上SSH/HTTPS都是可以用的,但对GitHub来说SSH更快...


最后点击Clone,一键无忧了好吧...前文提过了它会完成什么,这里就不balabala了,反正最后你删掉的库、别人公开的代码库就会magic般出现在你的本地
七、Gitee复制GitHub项目
(1)Ctrl c/v做法


(2)Gitee的强制同步
(强制同步)意味着用Github版本覆盖Gitee仓库中所有更改,无论Gitee是否有新提交,都会被覆盖(这是GitHub到Gitee的单向强制覆盖)




如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!





文件被提交到本地库,可看到版本号前七位b5912ca








