Git:分布式版本控制工具,主要用于管理开发过程中的源代码文件
Git仓库分为:
-
本地仓库:开发人员自己电脑上的 Git 仓库
-
远程仓库:远程服务器上的 Git 仓库
commit:提交,将本地文件和版本信息保存到本地仓库 push:推送,将本地仓库文件和版本信息上传到远程仓库 pull:拉取,将远程仓库文件和版本信息下载到本地仓库
Git全局设置
安装Git后首先设置用户名称和email地址。
每次Git提交都会使用该用户信息。
设置用户信息
git config --global user.name “xx”
git config --global user.email “xxxxxx@qq.com”
查看配置信息
git config --list
获取Git仓库
-
在本地初始化Git仓库(不常用)
-
创建一个文件夹,在里面点击右键打开Git bash窗口
-
执行命令 git init
-
看到.git文件夹(为隐藏文件夹)创建成功
-
-
从远程仓库克隆(常用)
-
通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
-
创建一个文件夹,在里面点击右键打开Git bash窗口,输入命令
-
命令格式:git clone 远程仓库地址
-
版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
Git工作区中的文件存在两种状态:
-
untracked 未跟踪(未被纳入版本控制)
-
tracked 已跟踪(被纳入版本控制)
-
1)Unmodified 未修改状态
-
2)Modified 已修改状态
-
3)Staged 已暂存状态
注意:文件的状态会随着我们执行Git的命令发生变化
-
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
本地仓库常用命令、操作
-
git status 查看文件状态
-
git add 将文件的修改加入暂存区,命令格式:git add fileName
-
git reset 将暂存区的文件取消暂存或者是切换到指定版本
-
取消暂存命令格式:git reset 文件名
-
切换到指定版本命令格式:git reset --hard 版本号
-
每次Git提交都会产生新的版本号,通过版本号就可以回到历史版本
-
-
git commit 将暂存区的文件修改提交到版本库
-
命令格式:git commit -m msg 文件名
-
-
git log 查看日志
远程仓库操作
-
git remote 查看远程仓库
-
如果要查看已经配置的远程仓库服务器,可以执行 git remote 命令,它会列出每一个远程服务器的简称。
-
如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字。
-
git remote -v 查看远程仓库更加详细的信息
-
本地仓库配置的远程仓库都需要一个简称,后续在和远程仓库交互时会使用到这个简称
-
-
git remote add 添加远程仓库
-
git remote add 简称 远程仓库地址
-
一个本地仓库可以关联多个远程仓库
-
-
你已经添加了一个远程仓库,但是想要修改它的简称。
-
你可以使用
git remote rename
命令。 -
例如,如果你想要将
origin
改为upstream
,可以执行: -
git remote rename origin upstream
-
-
git clone 从远程仓库克隆
-
git clone 远程仓库地址
-
-
git pull 从远程仓库拉取
-
从远程仓库获取最新版本并合并到本地仓库
-
git pull 远程仓库简称 分支名称
-
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )解决此问题可以在git pull命令后加入参数–allow-unrelated-histories
-
-
git push 推送到远程仓库
-
将本地仓库内容推送到远程仓库
-
git push 远程仓库简称 分支名称
-
-
删除远程仓库
-
使用
git remote remove
命令 -
git remote remove 简称
-
-
修改远程仓库的URL
-
使用
git remote set-url
命令 -
git remote set-url 简称 <新的仓库URL>
-
分支操作
通过git init 命令创建本地仓库时默认会创建一个master分支。
-
git branch 查看分支
-
git branch 列出所有本地分支
-
git branch -r 列出所有远程分支
-
git branch -a 列出所有本地分支和远程分支
-
-
git branch [name] 创建分支
-
git checkout [name] 切换分支
-
git push [shortName] [name] 推送至远程仓库分支
-
git push -u 简称 [name],
-u
参数意味着设置上游 -
如果你之前没有设置上游分支,或者想要更改上游分支
-
git branch --set-upstream-to=简称/分支 分支
-
-
git merge [name] 合并分支,将两个分支的文件进行合并处理
-
git fetch origin 拉取远程仓库的最新更改。
-
这个命令会将远程仓库的所有分支的最新状态下载到本地,但不会自动合并到你的当前分支。
-
-
git merge origin/master 将远程
master
分支的最新更改合并到你的本地master
分支。 -
git pull origin master 一步到位地更新本地
master
分支,可以使用git pull
命令,这个命令实际上是git fetch
后跟git merge
的快捷方式。 -
git push origin master 如果你的本地更改也需要更新到远程仓库,使用
git push
命令将本地master
分支的更改推送到远程仓库。
标签操作
Git 中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。
-
git tag 查看标签
-
git tag [name] 创建标签
-
git push [shortName] [name] 将标签推送至远程仓库
-
git push 远程仓库简称 标签名
-
推送完成后可以在远程仓库中查看标签。
-
-
git checkout -b [branch] [name] 检出标签
-
git checkout -b 分支名 标签名
-