目录
②、在项目根目录上创建本地仓库,此时项目根目录就会多出.git文件夹
一、git准备工作
-
1、Git下载安装
由于Gi官网下载速度很慢,我们可以去国内镜像下载,地址:https://npm.taobao.org/mirrors/git-for-windows/,
安装就直接下一步下一步傻瓜式安装即可,安装完成后,开始栏则可看见Git文件夹
桌面点击鼠标右键,可看见Git相关指令,如下图
-
2、Git相关程序介绍
Git Bash: Unix与Linux风格的命令行,使用最多,推荐最多
Git CMD: Windows风格的命令行
Git GUI: 图形界面的Git
-
3、Linux基本指令
cd 改变目录
cd.. 回退到上一个目录,直接cd进入默认目录
pwd 显示当前所在的目录路径
ls(ll) 都是列出当前目录中的所有文件,只不过ll列出的内容更为详细
touch 新建一个文件,如touch test.js,就会在当前目录下创建一个test.js
rm 删除一个文件,rm test.js就会吧test.js删除
mkdir 新建一个目录,即新建一个文件夹
rm -r 删除一个文件夹,rm -src,删除src目录
mv 移动文件夹 mv index.html src,将index.html移动到src文件夹中(同级目录)
rest 重新初始化终端/清屏
clear 清屏
history 查看命令历史
help 帮助
exit 退出
# #表示注释
-
4、git相关配置文件
①、设置用户名和邮箱
安装git后首先要做的就是设置用户名称和email地址,每次git提交都会使用该信息
git config --global user.name "daiy" #名称
git config --global user.email dydy573@126.com #邮箱
②、查看配置文件的一些指令
#查看配置
git config -l#查看系统config
git config --system --list
对应目录在git/etc/gitconfig#查看当前用户配置
git config --global --list对应文件在c盘用户下的.gitconfig文件
二、Git入门使用
①、Git工作流程
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到git仓库。
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
Git操作流程图如下:
②、Git本地仓库搭建
方式一:创建全新的仓库
执行git init指令,项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面。
方式二: 克隆远程目录,由于是将远程服务器上的仓库完全镜像一份至本地
执行 git clone [url] 指令,#
https://gitee.com/dromara/hutool.git
③、git控制下文件的4种状态
版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。
Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged。
Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 。
Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified。
1)、如下图,新建两个文件,执行指令查询可以看到对应状态均为未跟踪
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status
2)、通过 git add . 指令,添加所有文件到暂存区
3)、git commit -m "消息内容" 提交暂存区中的内容到本地仓库 -m 提交信息
④、忽略文件提交
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等
在主目录下建立".gitignore"文件,此文件有如下规则:
忽略文件中的空行或以井号(#)开始的行将会被忽略。
可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#为注释
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
三、git关联idea和码云仓库
①、idea上配置git.ee和安装gitee插件
②、在项目根目录上创建本地仓库,此时项目根目录就会多出.git文件夹
③、接着右键项目,add操作和commit以及push操作
add后选择commit direcator按钮,进行commit和push操作
push的时候会要求输入url,此url就是你码云上所创建的仓库url,复制进来就好
④、其他注意push to origin/master was rejected错误解决
大概原因是:码云创建仓库时建了README.md等文件,如下图,
而本地仓库与远程仓库尚未进行文件关联,因此需要将两个仓库的文件进行关联后提交。
解决方案如下:
1.切换到自己项目所在的目录,右键选择GIT BASH Here,Idea中可使用Alt+F12
2.在terminl窗口中依次输入命令:
git pull
git pull origin master
git pull origin master --allow-unrelated-histories
3.在idea中重新push自己的项目,成功!!!