Git
1.环境配置
-
设置用户信息
git config --global user.name "TZ" git config --global user.emali "2873377152@qq.com"
-
查看配置信息
git config --list git config user.name
通过上边的命令设置的信息会保存在~/.gitconfig文件中
2.获取git仓库
-
在本地初始化一个Git仓库
git init
-
从远程仓库克隆
git clone 远程仓库地址
3.工作目录、暂存区以及版本库
-
版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
-
工作目录(工作区):包含.git文件夹的目录就是工作目录,主要用于存放开发的代码
-
暂存区:.git文件夹中有很多文件,期中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
4.git工作目录下文件的两种状态
-
untracked未跟踪(未被纳入版本控制)
-
tracke已跟踪(被纳入版本控制)
Unmodified 未修改状态
Modified已修改状态
Staged已暂存状态
5.本地仓库命令
1.查看文件状态
git status
使用这个命令可以使输出信息更加简洁
git status -s
2.将未跟踪的文件加入到暂存区
git add 文件名
此命令还可以解决冲突
3. 将文件移除暂存区
git reset HEAD 文件名
4.将暂存区的文件修改提交到本地仓库
git commit -m "提交信息"
注意:要想提交某个文件,必须要将它添加到暂存区然后才能提交
修改版本库的文件内容后,需要将文件重新提交到暂存区,然后再进行提交
-
直接使用
git commit
命令进入编辑器模式1.然后点击键盘的
i
插入信息,输入信息后,2.点击
Esc
按键退出输入模式,3输入
:wq
保存并提交
5.删除文件
第一步:只是将文件从工作区删除了,但是在暂存区还存在
git rm 文件名称
第二步:需要将命令提交,也就是说将删除的动作提交到暂存区,然后才能删除暂存区的文件
git commit -m "信息"
注意:
-
如果直接用鼠标将文件从工作区删除,但是暂存区还有文件
第一步:
git rm 文件名称
第二步:git add 文件名
,先将已经删除的文件提交到暂存区
第三步:git rm 文件名称
第四步 :git commit -m "信息"
才能将文件删除
6.将文件添加至忽略列表
1.创建.gitignore
文件
touch .gitignore
2.在.gitignore
文件中配置忽略列表
比如
idea常用的忽略文件模板
.idea/
项目名.iml
*/target/
7.查看日志记录
1.输入git log
2.点击回车键,可以加载日志
3.输入q
退出日志界面,返回命令行界面
6.远程仓库命令
1.查看远程仓库
- 通过此条命令可以查看,该仓库是否连接了远程仓库
git romote
- 通过此命令可以查询到远程仓库的地址
git remote -v
- 查看远程服务器更加详细的信息
git remote show origin
2.添加远程仓库
在本地仓库中添加远程仓库关联
git remote add origin 远程仓库地址
3.从远程仓库进行克隆
git clone 远程仓库地址
将远程仓库克隆到本地,并且与本地仓库简历关联关系
4.移除无效的远程仓库
git remote rm 远程仓库名称
比如git remote rm origin
;
5.从远程仓库抓取或者拉取
1.git fetch
是从远程仓库抓取最新版本数据到本地仓库,不会自动merge(合并数据)
git fetch origin master
将数据抓取下来,此时文件夹里并看不到远程仓库的文件git merge
将抓取下来的文件进行合并,此时文件出现在文件夹里
2.git pull
是从远程仓库拉取最新版本数据并merge到本地仓库,文件直接出现在文件夹里
git pull origin master
6.推送到远程仓库
git push origin master
必须将文件提交到本地仓库然后才能提交到远程仓库
一般顺序为
1.(git init
加 git remote add 远程仓库地址
)
或者直接 git clone 远程仓库地址
-
git add 文件名称
-
git commit -m "备注信息"
2,3步骤之后都可以使用
git status
命令查看文件状态 -
git push origin master
*****注意:更新内容后,必须将文件提交到本地仓库,然后才能推送到远程仓 库,或者使用git commit -a -m "备注信息"
命令,将修改过的文件直接提交到本地仓库,然后再用git push origin master
命令提交到远程仓库
7.git分支
分支分为本地仓库分支,和远程仓库的分支
1.查看分支
-
列出本地所有分支
git branch
-
列出所有远程分支
git branch -r
-
列出本地和远程所有的分支
git branch -a
2.创建分支
-
创建本地分支
bit branch 分支名称
-
切换分支
git checkout 分支名称
-
分支推送至远程仓库
git push origin 分支名称
origin
为本地仓库关联的远程仓库的代称,分支名称为你想要的提交的分支名称
3.合并分支
- 想要将B分支,合并到A分支内,此时需要在A分支内使用命令
git merge B
例如:
1.先进入到想要更新文件的分支下,比如从master
分支进入到b1
分支
2.然后返回文件夹,进行文件更新,比如我在b1
分支下,新建了一个User.java
的文件
3.此时文件状态为“未添加”
4.用git add User.java
和git commit -m "add User.java to b1"
将文件提交本地仓库
5.此时,希望将刚更新完的b1
分支合并到master
分支
6.先切换到想要合并的目标分支git checkout master
7.再合并分支git merge b1
-
在两个不同的分支中,修改了同一个文件,此时会产生冲突。此时需要打开冲突的文件,修改冲突的内容,然后执行
git add
命令来标识冲突已经解决 -
将新更新了文件后的分支推送到远程仓库
git push 远程仓库连接 远程分支名称
比如:git push origin master
最后的分支名称为远程仓库的名称,即目标仓库名称
4.删除本地分支
git branch -d 本地分支名称
*如过要删除的分支中进行了一些开发动作,此时执行删除命令不会删除分支,如过要坚持删除分支,使用git branch -D 分支名称
5.删除远程仓库中的分支
git push origin -d 远程分支名称
8.案例
git branch dev
git checkout dev
- 在
dev
分支下进行文件修改 git add dev的工作内容
git commit -m "备注信息"
,将dev的工作内容暂时提交到本地仓库git checkout master
回到master分支git branch fix
新建fix
分支git checkout fix
- 回到
fix
分支下进行文件修改 git add fix修改后的文件名称
git commit -m "fix修改成功"
git checkout master
- 在
master
分支下git merge fix
将fix
分支合并到master
git push origin master
git checkout dev
返回之前的工作分支继续工作
9.git标签
标签指某个分支,某个特定时间点的状态,通过标签可以很方便的切换到标记的状态
1.列出已有的标签
-
创建新的标签
git tag 标签名
-
列出所有的tag
git tag
-
查看tag信息
git show tag
-
将标签推送至远程仓库
提交指定的tag
git push 远程仓库代号 标签名
比如:
git push origin v1.0
-
检出标签
新建一个分支,指向某个tag
git checkout -b 分支名称 标签名称
-
删除标签
1.删除本地tag
git tag -d 标签名称
2.删除远程tag
git push origin:refs/tags/标签
10.配置SSH协议
ssh-keygen -t rsa