一、git中的三个区 :
工作区、暂存区、Git仓库
二、git中的三种状态 :
- 已修改 (modified):表示修改了文件、但还没将修改的结果放到暂存区
- 已暂存 (staged) :表示对已修改文件的当前版本做了标记、使之包含在下次提交的列表中、放到暂存区
- 已提交(committed):表示文件已经安全地保存在本地的Git仓库中
三、git中的工作流程 :
- 在工作区中修改文件
- 将你想要下次提交的更改进行暂存
- 提交更新,找到暂存区的文件,将快照永久性存储到Git仓库
四、git配置:
1、配置用户名和邮箱地址:
git config --global user.name 名称
git config --global user.email 邮箱
2、检查配置信息
查看所有的 全局配置项
git config --list --global
查看指定的全局配置项
git config user.name
git config user.email
3、获取帮助信息
git config -h
五、Git仓库的创建:
1、将本地仓库转化为Git仓库
git init
2、从服务器中克隆一个已存在的Git仓库
六、Git工作区文件的4中状态:
- 检查文件的状态: git status git status -s/ - - short
1、未跟踪(untracked):新建的文件
2、未修改(unmodified):工作区中文件的内容和Git仓库中文件的内容保持一致
3、已修改(modified):工作区中文件的内容和Git仓库中文件的内容不一致
4、已暂存(staged):工作区中被修改的文件已被放到暂存区,准备将修改后的文件保存到Git仓库中
七、Git的基本操作:
- 跟踪/暂存新文件:
git add . (目录下的所有文件)
git add index.html 暂存index.html 文件
- 提交已暂存的文件:
git commit -m “更新的内容”
- 对工作区的文件进行撤销:
git checkout - - index.html
- 取消已暂存的文件
git reset HEAD 要移除的文件的名称
- 跳过使用暂存区
git commit -a -m “描述消息”
- 从Git仓库中移除文件
从git仓库和工作区中同时删除
git rm -f index.js
从git仓库中删除,保留工作区中的文件
git rm - -cached index.css
- git忽略文件(.gitignore )
1、以#开头 的是注释
2、以/结尾的是目录
3、以/开头防止递归
4、以!开头表示取反
5、以简化的正则表达式进行文件和文件夹的匹配
- 忽略规则:
.a 忽略所有的.a文件
!lib.a 跟踪所有的lib.a 即便你在前面忽略了 .a 文件
/TODO 只忽略当前目录下的TODO文件,而不忽略subdirr/TODO
build/ 忽略任何目录下 名为 build 的文件夹
doc/*.txt 忽略doc/notes.txt,但不忽doc/server/arch.txt
doc/**/*pdf 忽略doc/目录及所有子目录下的.pdf文件
- 查看提交历史
git log
- 回退到指定的版本:
git log - - prrtty=oneline 在一行上展示所欲的提交历史
git erset - -hard <CommitID> 根据指定的提交 ID 回退到指定版本
git reflog - - prrtty=oneline 查看命令操作的 历史
git reset - -hard <CommitID> 再次根据 最新的提交ID 跳转到最新的 版本
八、分支:
1、master分支:
用来保存和记录整个项目已完成的功能代码
2、查看分支列表:
git branch
3、新建分支
git branch 分支名称
4、切换分支
git checkout 分支名称
5、快速创建和切换分支
git checkout -b 分支名称
6、合并分支
git checkout master
git merge login
7、删除分支(不在被删除的分支上面)
git branch -d 分支名称
8、遇冲突的分支合并
进行第6步,
手动 解决之后:
git add .
git commit -m “解决了分支合并冲突的问题”
9、本地分支推送到远程仓库
-u 表示把本地分支和远程分支进行关联,只在第一次推送的时候需要带 -u 参数
git push -u 远程仓库的别名 本地分支名称: 远程分支名称
git push -u origin payment:pay
10、查看远程仓库中所有的分支列表
git remote show 远程仓库名称
11、跟踪分支
从远程仓库中,把远程分支下载到本地仓库中。
git checkout 远程分支的名称
git checkout -b 本地分支名称 远程仓库名称/远程分支名称
12、拉取远程分支的最新代码
git pull
13、删除远程分支
git psh 远程仓库名称 - - delete 远程分支名称
网友评论