Git学习
Git:分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,可以离线修改文件,只需要把互相修改的推给对方就可以看到对方的修改了。
SVN:集中式版本控制系统,版本库是集中放在中央服务器上得到,工作的时候需要从中央服务器得到最新版本,然后工作。再推送到中央服务器。
所有下载缓慢去找对应的镜像:
http://npm.taobao.org/mirrors
比如下载Git客户端,http://npm.taobao.org/mirrors/git-for-windows
1.先检查本地有无Git,去环境变量看,删除环境变量,再卸载软件即可
2.再安装(一路安装下去即可)
3.安装好后在放git文件的文件夹处右键,点击git bash here出来可视化界面
常用的linux命令:
//切换目录
cd / //切换到根目录
cd /bin //切换到根目录下的bin目录
cd ../ //切换到上一级目录 或者使用命令:cd ..
cd ~ //切换到home目录
cd - //切换到上次访问的目录
cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
//查看目录
ls //查看当前目录下的所有目录和文件
ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样
ls /bin //查看指定目录下的所有目录和文件
//创建目录
rm 文件名 //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)
rm -r 文件夹名 //递归删除当前目录下此名的目录
rm -rf 文件夹名 //递归删除当前目录下此名的目录(不询问)
rm -rf * //将当前目录下的所有目录和文件全部删除
rm -rf /* //将根目录下的所有文件全部删除【慎用!相当于格式化系统】 */
//修改目录
mv 当前目录名 新目录名 //修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹
//拷贝目录
find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录
//搜索目录
find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录
//查看当前目录
pwd //显示当前位置路径
rm:删除一个文件,rm index.js就会删除index.js文件
touch:新建一个文件
rm:删除一个文件
mkdir:新建一个目录文件夹
rm -r:删除一个文件夹 rm -r src 删除src目录
mv:移动文件
reset:重新初始化终端
clear:清屏
history:查看命令历史
help:帮助
exit:退出
#:注释
linux系统的文件结构:
/dev 设备文件
/etc 大多数配置文件
/home 普通用户的家目录
/lib 32位函数库
/lib64 64位库
/media 手动临时挂载点
/mnt 手动临时挂载点
/opt 第三方软件安装位置
/proc 进程信息及硬件信息
/root 临时设备的默认挂载点
/sbin 系统管理命令
/srv 数据
/var 数据
/sys 内核相关信息
/tmp 临时文件
/usr 用户相关设定
linux的命令行的含义
示例:root@app00:~#
root //用户名,root为超级用户
@ //分隔符
app00 //主机名称
~ //当前所在目录,默认用户目录为~,会随着目录切换而变化,
例如:(root@app00:/bin# ,当前位置在bin目录下)
# //表示当前用户是超级用户,普通用户为$,例如:("yao@app00:/root$" ,表示使用用户"yao"访问/root文件夹)
配置信息:
$ git config --global --list
user.email=971223772@qq.com
user.name=liuxiang
系统配置:D:\Environment\Git\etc:gitconfig文件
用户的配置:C:\Users\liuxiang
git config --global user.name "liuxiang"
git config --global user.email "971223772@qq.com"
基本理论
Git有三个工作区域:工作目录(Working Directory),暂存区(Stage/Index),资源库(Repository),还有一个远程仓库(Remote Directory)
四步操作:上传至远程仓库
# 在工作目录中添加,修改文件
git add .
# 将需要进行版本管理的文件放入暂存区域
git status
# 将暂存区域的文件提交到本地仓库 提交和消息
git commit -m "first commit"
#push到远程仓库
git push origin master
两种方式初始化为git文件
- 命令:
git init
- 克隆下载项目
git clone 网址名
Git文件操作
文件四种状态:
- untracked
- unmodify
- modified
- staged
忽略文件:
#为注释
*.txt #忽略所有.txt结尾的文件,上传就不会选中
!lib.txt #但lib.txt文件除外
/temp #仅忽略项目根目录下的TODO文件,不包括其他目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略doc/notes.txt 但不包括doc/server/arch.txt
Gitee的使用
1.从gitee上拷贝地址
2.生成公钥
ssh-keygen -t rsa -C "971223772@qq.com"
会在本机C:\Users\liuxiang.ssh处生成两个文件:.pub是公钥文件
放入gitee上面的公钥处即可!
IDEA中集成Git
直接将git克隆的文件夹拷贝到IDEA的java项目文件夹中即可!
在termial中输入上述命令即可!
# 在工作目录中添加,修改文件
git add .
# 将需要进行版本管理的文件放入暂存区域
git status
# 将暂存区域的文件提交到本地仓库 提交和消息
git commit -m "first commit"
#push到远程仓库
git push origin master
分支说明
git中常用指令:
#列出所有本地分支
git branch
#列出所有远程分支
git branch -r
#新建一个分支,但仍然停留在当前分支
git branch branch-name
#新建一个分支并切换到该分支
git checkout -b branch
#合并指定分支到当前分支
git merge branch
#删除分支
git branch -d branch-name
#删除远程分支
git push origin --delete branch-name
git branch -dr remote/branch