济南网站建设首推企优互联不错,网店运营的基本流程,wordpress免费中文,网站开发常见方法目录前言#xff1a;一、Git 是什么#xff1f;二、SVN与Git的最主要的区别#xff1f;三、Git 安装四、git 配置1. 创建仓库 - repository2. 配置3. 工作流与基本操作五、Git 的使用流程1. 仓库中创建 1.txt文件2. 查看工作区的文件状态3. 添加工作区文件到暂存区4. 创建版…
目录前言一、Git 是什么二、SVN与Git的最主要的区别三、Git 安装四、git 配置1. 创建仓库 - repository2. 配置3. 工作流与基本操作五、Git 的使用流程1. 仓库中创建 1.txt文件2. 查看工作区的文件状态3. 添加工作区文件到暂存区4. 创建版本5. 查看提交日志6. 修复提交7. 删除8. 撤销重置9. 比较10. 分支11. 标签六、在使用指令时出现的问题1. 显示乱码问题2. 使用 git commit 指令出现以下问题总结前言 在工作中我们的项目一般都是多人合作完成的这样就需要用到 git 了跟随本文来一起学习把 一、Git 是什么 Git 是目前世界上最先进的 分布式 版本控制系统。 工作原理 / 流程 Workspace工作区Index / Stage暂存区Repository仓库区或本地仓库Remote远程仓库 二、SVN与Git的最主要的区别
SVN 是 集中式 版本控制系统版本库是集中放在中央服务器的而干活的时候用的都是自己的电脑所以首先要从中央服务器哪里得到最新的版本然后干活干完后需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作如果在局域网还可以带宽够大速度够快如果在互联网下如果网速慢的话就纳闷了。
Git 是 分布式 版本控制系统那么它就没有中央服务器的每个人的电脑就是一个完整的版本库这样工作的时候就不需要联网了因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库那多个人如何协作呢比如说自己在电脑上改了文件A其他人也在电脑上改了文件A这时你们两之间只需把各自的修改推送给对方就可以互相看到对方的修改了。 三、Git 安装
Windows 下载地址https://git-scm.com/download/win 点击下载后除了下图的步骤外其他默认进行安装即可 四、git 配置
当安装完成后在需要配置 git 的文件中使用 cmd 进入 黑窗口或者右键点击 Git Bash Here 进入配置窗口中。
1. 创建仓库 - repository
进入希望纳入 git 版本控制的项目目录使用 git init 初始化
git init该命令将创建一个名为 .git 的子目录这个子目录含有你初始化的 Git 仓库中所有的必须文件这个目录也是上面我们说的三个区域之一这个目录也是 Git 保存数据记录的地方非常重要如非必要不要轻易改动。 当然我们很多人是看不到 .git 的子目录的这和我们电脑的设置有关根据下图进行调整就会显示出来了。 2. 配置
当创建完仓库后需要设置你的用户名称与邮件地址。 这样做很重要因为每一个 Git 的提交都会使用这些信息并且它会写入到你的每一次提交中不可更改。
git config user.name 你的姓名
git config user.email 你的邮箱-- global
通过 --global 选项可以设置全局配置信息
git config --global user.name 你的姓名
git config --global user.email 你的邮箱检查配置
// # 打印所有config
git config --list
// # 打印指定config
git config user.name3. 工作流与基本操作
当一个项目被 Git 初始化以后只是表示我们希望通过 Git 来管理当前的这个项目文件的不同时期版本记录但是这个时候项目中已存在的文件或者以后新增的文件都是没有进入版本控制管理的它们是 未追踪Untracked 的状态。 五、Git 的使用流程 1. 仓库中创建 1.txt文件
使用以下指令创建 1.txt 文件
cd . 1.txt2. 查看工作区的文件状态
使用以下指令查看工作区的文件状态
git status使用 git status 查看状态红色字体显示在工作区绿色字体显示在暂存区 3. 添加工作区文件到暂存区
通过以下指令添加工作区文件到暂存区
git add 1.txt
// # 添加多个文件
git add 2.txt 3.txt
// # 添加整个目录
git add ./a
// # 添加多个目录
git add ./b ./c
// # 添加所有文件
git add .4. 创建版本
使用以下指令将暂存区里的改动给提交到本地 git 仓库也就是为这次工作一般会把某个具有特定意义的工作作为一个版本它可以是多个文件的变化
git commit
// # 会调用默认或自定义的文本编辑器// 直接在 cmd 中使用无需打开编辑器
git commit -m 用简洁的语法把 git 仓库中的改动写出来备注信息中不要使用 空格 否则会报错。 5. 查看提交日志
通过以下指令查看提交日志
// 完整格式
git log
// 简要格式单行
git log --oneline6. 修复提交
使用以下指令使用修复替换上一次提交在不增加一个新的提交版本的情况下将新修改的代码追加到前一次的提交中
git commit --amend -m 提交7. 删除
通过以下指令可以删除文件
// # 从 git 仓库与工作区中删除指定文件
git rm 文件// # 只删除 git 仓库中的文件
git rm --cached 文件// # rm 以后需要 commit 这次操作否则 rm 将保留在暂存区
git commit -m 修正8. 撤销重置
git reset
从暂存区中撤销到工作区
// 从暂存区中撤销一个指定文件
git reset HEAD 文件名称
// 从暂存区中国年撤销所有文件
git reset HEAD .该命令既可以用于回退版本
// # 回退到指定的 commitID 版本
git reset --hard commitID9. 比较
通过以下指令可以进行比较
// # 比较 工作区和暂存区
git diff 文件
// # 比较 暂存区和仓库
git diff --cached [commitId] 文件
// # 比较 工作区和仓库
git diff commitId filename
// # 比较 仓库不同版本
git diff commitId1 commitId210. 分支
我们的开发就像是游戏的任务默认是在主线 master 上进行开发的。许多时候还有各种支线任务git 支持我们创建分支来进行项目开发。
查看分支
git branch创建分支
git branch 分支名称切换分支
git checkout 分支名称
// # 也可以使用 checkout -b 来新建分支
git checkout -b 分支名称分支合并
// # B 合并到 A需要切换到 A 分支
git merge 被合并分支// # 查看已经合并的分支
git branch --merged
// # 查看未合并的分支
git branch --no-merged删除分支
// # 如果分支为未合并状态则不允许删除
git branch -d 分支名称
// # 强制删除
git branch -D 分支名称合并记录
rebase
// # 合并 HEAD 前两个祖先记录
git rebase -i HEAD~2~ : 纵向
^ : 横向 rebase 操作
# p, pick use commit 使用
# r, reword use commit, but edit the commit message 使用但重新编辑说明
# e, edit use commit, but stop for amending 使用
# s, squash use commit, but meld into previous commit 使用但合并上一次
# f, fixup like squash, but discard this commits log message 就像 squash 那样但会抛弃这个 Commit 的 Commit message
# x, exec run command (the rest of the line) using shell 执行脚本
# d, drop remove commit 移除git rebase -i HEAD~3
// # 弹出编辑器根据需要的进行修改然后保存
// # 如果为 rs 则会再次弹出编辑器修改新的 commit message修改之后保存如果出现一些问题可以通过 git rebase --edit-todo 和 git rebase --continue 进行重新编辑保存 合并冲突
有的时候不同的分支可能会对同一个文件内容和位置上进行操作这样在合并的过程中就会产生冲突
查看冲突文件 修复冲突内容 比较变更 提交
git add .11. 标签
有的时候我们希望给某一个特定的历史提交打上一些标签。
新建 tag
git tag -a v1.0.0 HEAD/commitId查看 tag
git tag六、在使用指令时出现的问题
1. 显示乱码问题
如果文字显示为乱码执行以下指令
// 进入windoes的cmd 然后分别输入以下五行
git config --global core.quotepath false
git config --global gui.encoding utf-8
git config --global i18n.commit.encoding utf-8
git config --global i18n.logoutputencoding utf-8
set LESSCHARSETutf-82. 使用 git commit 指令出现以下问题
当需要提交文件到本地仓库时使用 git commit 问题出现以下问题输入 :wq 后回车解决问题。 总结 欢迎大家加入我的社区在社区中会不定时发布一些精选内容https://bbs.csdn.net/forums/db95ba6b828b43ababd4ee5e41e8d251?category10003 以上就是 git 的使用方法上 - 指令不懂得也可以在评论区里问我或私聊我询问以后会持续发布一些新的功能敬请关注。 我的其他文章https://blog.csdn.net/weixin_62897746?typeblog