Git
0.基础概念:
-
git概念
a. 免费开源的分布式版本控制系统。
b. 占用面积小,性能高,廉价的本地库,方便的暂存区域,多个流分支。
c. Git仓库:
-
代码托管中心:基于网络服务器的远程代码仓库
第一种:局域网:Gitlab;
第二种:互联网:GitHub(外网),Gitee码云(国内) -
版本控制:记录文件内容变化(即历史记录),便于将来查阅特定版本修订情况的系统。
-
集中版本控制工具(SVN) 分布式版本控制工具(Git)区别:
svn:单一的集中管理的中央服务器。
git:断网也可研发,每个客户端保存的都是完整的项目。
1.Git基本操作
- 设置用户签名
git设置用户签名 | 作用 |
---|---|
git config --global user.name 用户名· | 设置用户签名 |
git config --global 邮箱 | 设置用户签名 |
(文件目录C:\Users\user-name.gitconfig)
- git其他操作
git命令名称 | 作用 |
---|---|
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add file_name | 添加到暂存区 |
git commit -m “log_information” file_name | 提交到本地库 |
git reflog | 查看历史记录 |
git log | 查看详细历史记录 |
git reset --hard 版本号 | 版本穿梭 |
git rm --cached file_name | 删除暂存区文件 |
linux常用命令 | 作用 |
---|---|
ll -a | 显示隐藏文件 |
yy | 复制 |
p | 粘贴 |
:wq | 保存 |
cat file_name | 查看文件 |
tail -n 1 file_name | 查看末尾第一行 |
快捷键 | 作用 |
---|---|
shift+hone | 选中当前行(光标在行尾) |
shift+end | 选中当前行(光标在行首) |
- git init 初始化(自动生成.git文件)
git init //git初始化
查看.git下隐藏文件:
cd .git //查看.git下隐藏文件
ll -a
- git status 查看本地库状态
本地库状态包含:分支信息,提交信息,追踪信息
git status
红色文件:在工作区,还未追踪。
绿色文件:已添加(add)暂存区,已追踪。
- 新建文件
vim helloeast.txt
新建文件为红色,在工作区:
- 添加文件
git add helloword.txt
文件添加(add)后为绿色,在暂存区:
- 删除暂存区文件
git rm --cached helloword.txt
- 提交(commit)文件
git commit -m “log_information” file_name
eg: git commit -m "first commit" helloword.txt
- 查看历史记录
git reflog //查看历史纪录
git log //查看详细历史记录
- 修改文件
修改后文件在工作区为红色:
加入(add)暂存区文件变绿:
提交(commit)到本地库:
历史记录:
- 版本穿梭
git reflog //查看历史记录(含版本号)
git reset --hard 版本号 //版本穿梭
穿梭后指针指向新版本:
查看当前分支信息:.git >> HEAD文件
查看当前版本信息:.git >> refs >> heads >>
2.Git分支操作
命令 | 作用 |
---|---|
git branch branch_name | 创建分支 |
git branch -v | 查看分支 |
git checkout branch_name | 切换分支 |
git merge branch_name | 将指定分支合并到当前分支 |
- 创建查看分支
git branch git-fix //创建
git branch -v //查看
- 切换分支
git checkout branch_name //切换分支
- 合并分支
git merge branch_name //合并
自动合并:
出现合并冲突:
手动合并:
vim file_name //手动修改文件
git add file_name //加入缓存区
git commit -m "log_information" //提交,注意提交不能带file_name
3.Git代理配置
Git命令 | 作用 |
---|---|
git config --global http.proxy http://127.0.0.1:7890 | 配置HTTP代理 |
git config --global http.proxy | 查看http代理设置 |
git config --global --unset http.proxy | 取消http代理设置 |
windows相关命令 | 作用 |
---|---|
ipconfig /flushdns | 刷新DNS |
配置查看:
取消查看:
刷新DNS:
GitHub
1.GitHub基本操作
远程仓库操作命令 | 作用 |
---|---|
git remote -v | 查看当前所有远程地址别名 |
git remote add | 起别名 |
git push 别名 分支 | 推送本地分支上的内容到远程仓库 |
git clone 远程地址 | 将远程仓库的内容克隆到本地 |
git pull 远程仓库地址别名 远程分支名 | 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并 |
- 查看别名
git remote -v //查看别名
- 创建别名
git remote add 别名 远程链接 //创建别名
重新查看别名
- push项目(推代码)
git push 远程仓库地址/本地别名 本地分支名
(网太卡,没成功)
- pull项目(拉代码)
git pull 远程仓库地址/别名 分支名
(连接成功,因为之前未push成功,所以pull失败)
- clone项目(克隆代码)
git clone 远程仓库链接 //clone
拉取代码 >> 初始化本地仓库 >> 起别名(默认为origin)
Ide集成
1.ide集成Git
- 创建*.ignore文件 (建议放在C:\Users\55332目录下)
# 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
- 在.gitconfig(目录C:\Users\55332)文件中添加配置
(注意:该文件中路径用斜杠“/”而不是反斜杠“\”)
[core]
excludesfile = C:/Users/55332/git.ignore
- ide里配置git
(setting>>version control>>git)
点test配置成功则出现版本号:
wasd