git及git操作规范

基础

一、命令

1. 初始化
1.git init       创建一个.git的文件夹,初始化一个本地git仓库
2. 获取项目
1.git clone
      获取一个url对应的远程report, 创建一个local copy.
     一般的格式是git clone [url].
     clone下来的report会以url最后一个斜线后面的名称命名,创建一个文件夹,如果想要指定特定的名称,可以git clone [url] newname指定.
3. 日志
1.git log   show commit history of a branch.
4. 状态
1. git status    git add和git stash 没有必然的关系,git add 只是把文件加到git 版本控制里,但是执行git stash 能正确存储的前提是文件必须在git 版本控制中才行。

(1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

(2)git stash list  :查看stash了哪些存储

(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储

(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0}

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储

(8)git stash clear :删除所有缓存的stash
5.增加文件到缓存区
1. git add filename    添加指定文件或文件夹到工作区
2. git add .         提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
3. git add -u        (git add --update的缩写) 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
4. git add -A        (git add --all 的缩写) 提交所有修改,是2和3两条的缩写
6.提交更新
1.git commit -m 'update info'
7.从仓库拉代码并合并
1.git pull
8.向仓库master分支推代码
1.git push origin master
9.拉取所有更新
1.git fetch
10.创建并切换到分支
1.git checkout -b branchname
11.合并分支
1.git merge origin/master

二、命令速查

在这里插入图片描述

配置

1. 用户信息
配置或更新用户名称和电子邮件地址,git 用于记录是谁提交了更新,以及更新人的联系方式。
git config --global user.name "Donly Chan"
git config --global user.email donly@example.com
2. 查看配置
1.git config --list     查看所有配置
2.git config user.name   查看某个配置

操作规范

一、分支操作规范

1. 创建并切换分支
1.git checkout master
2.git checkout -b dev     等价于 git branch dev +  git  checkout dev
3.git branch   查看本地所有分支,带*表示当前分支
4.git branch -a   查看远程所有分支,白色表示本地有,红色表示本地不存在,只存在远程仓库
2. 修改提交代码
1.git add .
2.git commit -m "update说明"
3. 分支合并(将dev合到master)
1.git checkout master
2.git merge dev
4. 删除分支(当前不能在所要删除的分支上)
1.git branch -d dev   会在删除前检查merge状态
2.git branch -D dev   git branch --delete --force的简写,会直接删除。

二、解决冲突

1. 发生冲突文件,根据需要保留代码
<<<<<<< HEAD
你本地的分支的
============
别人提交的commit代码
>>>>>>>> 39645e0443a07957dae
2. 解决冲突并提交
1.git add .
2.git commit -m "update说明"
3.git push origin 分支名称

三、版本回退

1. 回退到上一个版本
1.git reset --hard HEAD       回退到上一个版本
2.git reset --hard 版本号      回退到指定版本
2. 回退到指定版本
1.git reset --hard 版本号      回退到指定版本
3. 查看以往的版本号(本地的commit)
1.git reflog
4. 查看各版本号及信息(所有commit)
1.git log
5. 远程版本回退
1.git reset --hard 版本号       本地分支回到指定版本号
2.git push -f origin branchname     将远程分支回退到指定版本
6. 删除远程分支
1.git push origin --delete [branch_name]

三、commit 规范

Git每次提交代码都需要写commit message,否则就不允许提交。一般来说,commit message应该清晰明了,说明本次提交的目的,具体做了什么操作
1 格式
<type>(<scope>): <subject>
type (必需)
用于说明git commit的类别,只允许使用下面的标识
类型说明
feat 新功能(feature)
fix修复bug
docs文档(documentation),仅仅修改了文README
style 样式,修改空格、缩进,结尾符等,不影响代码逻辑
refactor重构(既不是新增功能,也不是修改 bug 的代码变动)
perf优化相关,比如提高性能、体验
modify优化代码格式,
test提交测试代码(单元测试,集成测试等)
chore改变构建流程、或者增加依赖库、工具等
revert回滚到上一个版本
merge代码合并
sync同步主线或分支的bug
misc一些未归类或不知道将它归类到什么方面的提交
scope
scope 说明 commit 影响的范围,比如数据层,控制层,视图层等等,这个需要视具体场景与项目的不同而灵活变动
subject
1.subject 是对于该 commit 目的的简短描述
    使用第一人称现在时的动词开头,比如 modify 而不是 modified 或 modifies
    首字母小写,并且结尾不加句号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.为什么要写这个文档 本文是结合项目中使用git的经验并参考《Git权威指南.pdf》总结出来的。《Git权威指南.pdf》全强大很细,但有些东西太广太细,不适合快速上手。本文档适合在项目实践中想快速上手git的新手。先看本文档基本上手,在实际使用中遇到什么问题在深入研究《Git权威指南.pdf》或者google,这种学习规划的效率应该是最好的。欢迎更正和补充。 2.GIT和SVN、CVS的区别 版本库分两种 集中式版本库:CVS和SVN 分布式版本库:GIT轻量级,高性能 集中式版本库的缺点:代码集中放在一台服务器上,必须有网络才能连接服务器。 GIT的最大优势:每个人都会在本地有自己的版本库,而不是连到服务器公共的版本库。所有的历史记录都会存储在本地版本库中,向版本库提交代码无需连接远程版本库,而是记录在本地版本库中。 用git push可以把修改上传到远程的主版本库中。 其实SVN的本地历史比较也就相当于本地版本库,只是功能没有那么强大,只能比较单个文件的本地历史记录。 在SVN中版本库在服2.3.务器上,在GIT中,版本库不在服务器上,而在本地workspace中的.git目录中。 3.为什么要使用git 本次项目的版本库主要在本地修改,但也可能在其他地区进行merge等操作,所以用分布式版本管理工具git。 (基于项目版本管理经验修改,如果意见,请指正,谢谢!)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值