Git的使用
Git简介
1、Git四个区域
1、工作区:处理工作的区域(即做项目打代码的区域)
2、暂存区:已完成的工作临时存放区域,等待被提交
3、本地仓库:存放数据的地方,但是还在本电脑上,若电脑存储空间损坏还是会造成代码消失
4、Git远程仓库:最终的存放区域,即远程服务器,电脑存储空间损坏也不影响远程仓库数据
2、Git四个状态
1、未跟踪:文件没有加入到git库中,不参与版本控制,使用git add变为暂存
2、已暂存:表示对已修改文件的当前版本做了标记,使之包含在下次提交的列表
3、已修改:表示修改了文件,但还没将修改的结果放到暂存区
4、已提交:表示文件已经安全地保存在本地Git仓库
新建文件 ---> 未跟踪(Untracked)
使用git add .或者git add ‘需要暂存文件名’ ---> 已暂存(Staged)
使用git commit将文件放在本地仓库中 ---> 已提交(Unmodified)
如果已经提交到本地仓库后修改了文件当前文件状态是 ---> 已修改(Modified)
如果已经提交到本地仓库后删除了文件当前状态是 ---> 未跟踪(Untracked)
1.png
3、Git忽略文件.gitignore
格式规范:
- 以 # 开头的是注释
- 以 / 结尾的是目录
- 以 / 开头防止递归
- 以 ! 开头表示取反
- 可以使用glob模式进行文件和文件夹的匹配(glob指简化的正则表达式)
glob模式的正则表达式:
- 星号*匹配零个或多个任意字符
- [abc]匹配任何一个在方括号中的字符(此案例匹配一个a或匹配一个b或匹配一个c)
- 问号?只匹配一个任意字符
- 在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9]表示匹配所有0到9的数字)
- 两个星号表示匹配任意中间目录(比如a//z可以匹配a/z、a/b/c或a/b/c/z等)
一、Git提交到远程仓库
cd到本地仓库
1、git init指令初始化本地仓库
git init
2、git add指令将工作区的文件添加到暂存区
git add .
3、git commit -m 指令将暂存区的修改提交到分支
git commit -m "提交日志"
4、git remote add origin指令把本地仓库与之关联添加后,远程库的名字就是origin
git remote add origin github链接
5、git push -u origin master 指令把本地库的所有内容推送到远程库上
git push -u origin master
6、以后提交就不用加-u了
git push origin master
二、修改git用户名和邮箱
1、修改当前的project的命令
git config user.name 你的名字;
git config user.email 你的邮箱;
2、修改全局的
git config --global user.name 你的名字;
git config --global user.email 你的邮箱;
3、查看当前项目配置
git config --list
4、查看全局配置
git config --global --list
5、发现user.name有多个值
git config --global --replace-all user.email "输入你的邮箱"
git config --global --replace-all user.name "输入你的用户名"
三、Android Studio中Undo Commit,Revert Commit,Drop Commit区别
1、Undo Commit
适用情况:代码修改完了,已经Commit了,但是还未push,然后发现还有地方需要修改,但是又不想增加一个新的Commit记录。这时可以进行Undo Commit,修改后再重新Commit。
2、Revert Commit
会新建一个 Revert “xxx Commit”的Commit记录,该记录进行的操作是将"xxx Commit"中对代码进行的修改全部撤销掉。
3、Drop Commit
- 未push的Commit记录:会删除Commit记录,同时Commit中对代码进行的修改也会全部被删除
- 已push的Commit记录:区别在于线上的Commit记录不会被删除
四、Git撤销已经推送(push)至远端仓库的提交(commit)信息操作
1、撤销提交信息
git reset --soft HEAD^
git reset --soft <版本号>
2、修改代码,重新提交和推送
git add .
git commit -m ""
git push origin master --force
五、Git的amend操作
该操作会修改上一次提交的内容,但不会要求你编辑提交信息,仍保持上一次commit
1、修改还未push的提交
//修改最近一次提交
git commit --amend
//进入注释页面,进行修改(输入i进入编辑状态)
//修改后保存退出(esc退出并输入:wq!)
2、修改已经push的提交
//修改最近一次提交
git commit --amend
//进入注释页面,进行修改
//修改后保存退出
//强制推送
git push --force-with-lease origin master
3、git 使用amend补上遗漏文件
git commit -m 'initial commit'
git add 文件
git commit --amend --no-edit