使用git管理项目,拥有三个区域,分别是工作区,暂存区,Git仓库
git中的三个状态:已修改 modified,已暂存 staged, 已提交 committed
·工作区我文件被修改了,但还没放到暂存区,就是已修改状态
·如果文件放入了暂存区,就是已暂存的状态
·如果git仓库中保持这特定版本的文件,就属于已提交状态
上官网自行下载即可
安装完后第一件事设置自己的用户名和邮件地址
命令:
git config --global user.name "用户名"
git config --global user.email “邮箱地址”
这些参数会被永久保存在 .gitconfig中
查看所有全局配置信息
git config --list --global
查看指定全局配置信息
git config user.name
git config user.email
获取帮助信息
git help
git config -h
Ⅰ:两种方式:
1:将尚未进行版本控制的本地目录转为git仓库 $ git init
2:从其他服务器克隆一个已经存在的git仓库 $ git clone (https:地址)
Ⅱ:在现有的目录中初始化仓库
如果自己有一个尚未进行版本控制的项目目录,想要用git来控制,需要执行以下两个步骤
1:在项目目录中,通过鼠标右键打开”git Bash“
2:执行git init 命令,将当前目录转化为git仓库
git init 命令会创建一个.git的隐藏目录,这个.git目录就是当前项目的git仓库,里面包含了初始的必要文件,这些文件是git仓库的必要组成部分。
工作区的每一个文件都有4种状态,这种状态共有两大类,
未跟踪的(Untracked)(不被git管理),未修改(Unmodified),已修改(Modified),已暂存(Staged)
检查文件状态命令: git status -s
跟踪文件:git add 文件名
提交文件:git commit -m "提交附带提示"
撤销对文件的修改:git checkout -- 文件
向暂存区一次性添加多个文件:git add.
取消暂存区的文件:git reset HEAD 要移除的文件名称
提过暂存区直接提交
git的标准工作流程 工作区-> 暂存区 ->git仓库
用 git commit -a -m '描述提示' 就可以跳过暂存区
工作区->仓库
忽略文件
一般有些文件是不需要收纳进git仓库的,但也不希望跟踪这些文件。
我们可以创建一个 .gitignore 的文件,列出需要忽略的文件
#开头是注释
/结尾是目录
/开头是防止递归
!开头取反
也可以使用glod模式进行文件和文件夹的匹配
glod模式
简化的正则表达式
* 零或多个任意字符
[ ] 任何一个在方括号中的字符
? 任意一个字符
- 表示范围 [0-9] 表示0到9之间的字符
** 匹配任意中间的目录
提交历史:git log
回退版本:
展示提交历史:git log --pretty=oneline
回退:git reset --hard
展示所有提交历史:git reflog --pretty=oneline
回退:git reset --hard
将远程仓库克隆到本地
git clone 仓库地址
将本地代码库与远程代码库相关联
git remote add origin 仓库地址
强制把远程仓库的代码跟新到当前分支上面。ps:如果仓库为空这一步可以跳过
git pull --rebase origin master
将本地代码推送到指定远程的仓库中
git push -u origin master
1:查看分支
git branch
2:创建分支
基于当前分支创建一个新分支
git branch 分支名称
3:切换分支
git checkout 分支名称
4:分支的快速创建和切换
git checkout -b 分支名称
5:合并分支
git merge 分支名称
6:删除分支
git branch -d 分支名称
7:将本地分支推送到远程仓库
git push -u 远程仓库名称 本地分支名称:远程分支名称
8:查看远程仓库中的分支列表
git remote show 远程仓库分支名称
9:跟踪分支
把远程仓库中的分支下载到本地仓库中
git checkout 分支名称
把对应的远程分支下载到本地分支,并把下载的本地分支重命名
git checkout -b 本地分支名称 远程仓库名称/远程分支名称
10:拉取远程分支的最新代码
保持当前分支代码和远程分支代码一致
git pull
11:删除远程分支
git push 远程仓库名称 --delete 远程分支名称