徐州网站备案,嘉兴自助模板建站,wordpress 文字 居中,数据分析对网站建设的重要性目录 版本控制git配置工作区域文件状态git对象模型基础命令.gitignore忽略文件IDEA集成Git 版本控制
本地版本控制#xff1a;在本地记录每一次版本更新。
集中版本控制#xff1a;版本数据都保存在单一服务器#xff0c;不联网就看不到版本信息。SVN
分布式版本控制在本地记录每一次版本更新。
集中版本控制版本数据都保存在单一服务器不联网就看不到版本信息。SVN
分布式版本控制所有的版本信息都同步到本地的每个用户可以离线在本地提交只需在联网时push。Git
SVN与Git的区别
SVN 是集中式的Git 是分布式的SVN 的分支操作成本创建/删除/合并比 Git 高SVN 是存储变更差异Git 是存储文件快照SVN必须联网操作只有服务器上的版本控制Git支持离线操作有本地的版本控制
git配置
1git\mingw64\etc\gitconfig –system系统级
2C:\Users\用户\.gitconfig –global全局
Git branch 获取分支列表 列表保存到refs/heads/master 下面。
git config -l配置清单
git config --system --list系统配置
git config --global --list全局配置用户配置
安装好git后设置用户名和邮箱必要
git config --global user.name xxx
git config --global user.email xxxqq.com配置ssh公私钥连接远程仓库
在c:/Users/用户/.ssh下打开git bash运行ssh-kengen生成公私钥将pub公钥粘贴到远程仓库配置中。
工作区域
git本地有三个工作区域工作目录、暂存区(stage/index)、资源库(repository)、远程仓库(remote repository)。
工作区平时写代码项目文件的目录。
index/stage存放提交的文件列表信息的文件。
Local R本地仓库存放提交的所有版本信息HEAD总是指向当前分支。
Remote托管代码的远程服务器。 文件状态
untracked未加入到本地库中不参与版本控制使用git add变为staged状态
unmodify文件已入库未修改。变为modified文件或git rm移除版本库变为untracked状态。
modified文件已修改。通过git add变为staged状态或通过git checkout放弃修改回到unmodify状态。
staged暂存状态。执行git commit提交到版本库中文件变为unmodify状态执行git reset HEAD filename取消暂存文件变为modified状态。
git对象模型
在git系统中有四种尅对象
commit指向一个tree纪录了文件操作作者提交者信息
tree对象关系树管理tree和blob的关系
blob保存文件内容
tag标记提交。
基础命令
git init本地创建一个新的项目。
git clone [url]克隆远程仓库上的项目代码。
git rm/mv [file]删除移动文件
git status [xx]查看文件状态。
git commit -m xxx提交暂存区中的内容到本地仓库-v提交时显示diff信息。
git branch查看本地分支-r查看远程-d [name]删除分支-rd删除远程分支
# 新建一个分支与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]git merge [branch]合并分支到当前分支。
git checkout [branch]或git switch切换到指定分支。
git checkout [file]恢复暂存区文件到工作区。
git log显示当前分支版本历史-S [key]根据关键词搜索提交历史–follow [file]显示某文件的版本历史–oneline简洁显示。
git shortlog -sn显示所有提交过的用户。
git blame [file]显示文件被什么人什么时间修改。
git diff显示工作区和暂存区的差异。
git show [commit]显示某次提交的时间和内容变化。
git fetch [remote]下载远程仓库变动到本地版本库。
git remote -v显示所有远程仓库add添加仓库remove删除。
git pull [remote] [branch]取回远程仓库分支的变化并与本地合并。
git push [remote] [branch]推送本地分支到远程仓库。
master分支主要用于发布新版本常用工作分支使用dev等分支。
推送失败因为最新提交和你试图推送的提交有冲突。先用git pull把最新提交从origin/dev抓下来然后在本地合并解决冲突再推送。git pull也失败了原因是没有指定本地dev分支与远程origin/dev分支的链接根据提示设置dev和origin/dev的链接。
git branch --set-upstream-toorigin/dev dev这回git pull成功但是合并有冲突需要手动解决解决后提交再push。
.gitignore忽略文件
在目录下创建.gitignore文件将某些文件排除在版本控制外。
#注释。
tmp/*.txt忽略tmp目录所有以.txt结尾的文件不包括tmp/d/*.txt。
!除了这个文件外忽略所有
/tmp忽略除tmp文件夹外的其他文件
tmp/忽略tmp目录下的所有文件
IDEA集成Git
将所有克隆下来的git项目或新创建的git项目文件拷贝到IDEA项目中即可或在IDEA下载git插件。