策划公司的经营范围,重庆seo网站排名优化,dw网页设计代码茶文化,论论坛坛网网站站建建设设Git 是我们开发工作中使用频率极高的工具#xff0c;下面总结下他的基本指令有哪些#xff0c;顺便温习一下。 前言
一般项目中长存2个分支#xff1a; 主分支#xff08;master#xff09; 和开发分支#xff08;develop#xff09;
项目存在三种短期分支 #xff1… Git 是我们开发工作中使用频率极高的工具下面总结下他的基本指令有哪些顺便温习一下。 前言
一般项目中长存2个分支 主分支master 和开发分支develop
项目存在三种短期分支 功能分支feature branch 补丁分支hotfix branch 预发分支release branch一旦完成开发它们就会被合并进develop或master然后被删除。
虽然是主分支和分支却是平级关系develop可以理解为开发库master为生产库。
一、初始化
# 初始化本地仓库在当前目录下生成 .git 文件夹git init# 查看当前分支状态
git status 二、Git 配置
# 查看配置信息
git config --local | --global | --system -l // --local仓库级--global全局级--system系统级# 查看当前生效的配置信息
git config -l# 编辑配置文件
git config --local | --global | --system -e# 添加配置项
git config --local | --global | --system --add name value# 获取配置项
git config --local | --global | --system --get name# 删除配置项
git config --local | --global | --system --unset name# 配置提交记录中的用户信息
git config --global user.name 用户名git config --global user.email 用户邮箱# 更改Git缓存区的大小如果提交的内容较大默认缓存较小提交会失败缓存大小单位B例如524288000500MB
git config --global http.postBuffer 缓存大小三、查看日志log
# 打印所有的提交记录
git log // Q退出记录# 打印从第一次提交到指定的提交的记录
git log commit ID# 打印指定数量的最新提交的记录
git log -指定的数量 // 例如 git log -3 打印最近3条记录# 显示指定作者的提交历史
git log --authorzhangsan# 查看指定文件的提交历史
git log file_name // 例如 git log abc.vue# 以图形形式显示提交历史
git log --graph 四、分支branch操作
# 列出本地的所有分支当前所在分支以 * 标出
git branch# 列出本地的所有分支并显示最后一次提交当前所在分支以 * 标出
git branch -v# 创建新分支
git branch 分支名# 修改分支名称
git branch -m oldName newName# 强制修改分支名称
git branch -M oldName newName# 删除指定的本地分支
git branch -d 分支名称# 强制删除指定的本地分支
git branch -D 分支名称五、切换checkout分支
# 切换到已存在的指定分支
git checkout 分支名称# 创建并切换到指定的分支保留所有的提交记录
git checkout -b 分支名称# 创建并切换到指定的分支删除所有的提交记录
git checkout --orphan 分支名称# 替换掉本地的改动新增的文件和已经添加到暂存区的内容不受影响
git checkout 文件路径 六、克隆clone分支
# 默认在当前目录下创建和版本库名相同的文件夹并下载版本到该文件夹下
git clone 远程仓库的网址# 指定本地仓库的目录
git clone 远程仓库的网址 本地目录# -b 指定要克隆的分支默认是master分支
git clone 远程仓库的网址 -b 分支名称 本地目录 七、提交commit操作
# 把暂存区中的文件提交到本地仓库
git commit# 把暂存区中的文件提交到本地仓库中并添加描述信息
git commit -m 提交的描述信息# 修改上次提交的描述信息
git commit --amend 八、合并merge操作
# 把指定的分支合并到当前所在的分支下并自动进行新的提交
git merge 分支名称# 把指定的分支合并到当前所在的分支下不进行新的提交
git merge --no-commit 分支名称# 合并分支出现冲突时取消合并一切回到合并前的状态
git merge --abort
九、还原reset提交记录
# 将 HEAD 的指向改变撤销到指定的提交记录文件未修改
git reset commit ID# 将 HEAD 的指向改变撤销到指定的提交记录文件也修改了
git reset --hard commit ID# 回退3级
git reset --hard HEAD~3git push -f // 表示将目前自己本机的代码库推送到远端并覆盖# 撤销某次提交
git revert commit IDgit revert 与 git reset 最大的不同是git revert 仅仅是撤销某次提交而git reset会将撤销点之后的操作都回退到暂存区中
十、tag 操作
# 打印所有的标签
git tag# 切换到指定的标签
git checkout 标签名称# 查看标签的信息
git show 标签名称# 删除指定的标签
git tag -d 标签名称# 将指定的标签提交到远程仓库
git push 远程仓库的别名 标签名称# 将本地所有的标签全部提交到远程仓库
git push 远程仓库的别名 –tags
十一、差异对比 diff
# 比较暂存区中的文件和上次提交时的差异
git diff --cached
git diff --staged# 查看从指定的版本之后改动的内容
git diff commit ID# 比较两个分支之间的差异
git diff 分支名称 分支名称
十二、其他操作
# 列出已经存在的远程仓库
git remote -v# 从远程仓库获取最新版本
git pull# 合并分支出现冲突时取消合并一切回到合并前的状态
git merge --abort# 选择一个commit合并进当前分支
git cherry-pick commit ID# 如果代码没有任何新变化则用来改写上一次commit的提交信息
git commit --amend -m message
十三、操作案例
# 克隆仓库
git clone http://www.xxx.com/abc.git# 查看分支当前状态
git status# 将文件添加到暂存区 .代表所有
git add .# 把暂存区中的文件提交到本地仓库
git commit -m 添加代码备注# 将本地代码提交到远程仓库
git push
总结
1.养成提交描述的好习惯一个好的提交信息可以方便他人理解您的修改也有助于日后回顾项目历史; 2.在频繁修改的项目中保持提交频率避免许多修改集中在一个提交中会增加冲突的风险; 3.使用分支开发习惯将开发环境和生产环境分开不要在master分支上直接进行开发; 4.当合并时出现冲突应该及时处理。解决冲突后进行测试确保代码正常工作; 5.每天开发完成时更新您的本地仓库确保与远程仓库保持同步。 6.在项目中添加适当的文档包括README文件、代码注释和项目文档以便团队成员能够理解项目的功能和结构。