前言
在实习过程中,git的使用是必不可少的,实习的时间也让我更加巩固了自己对git的使用,接下来就是我在实习中最常用的一些git命令,掌握这些命令在写需求时就没有什么大问题了,其他的命令在遇到问题的时候去搜索学习就ok了。
首先要知道为啥我们要使用git,Git是目前世界上最先进的分布式版本控制系统,而什么叫分布式版本控制管理系统呢?
所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据
通俗一点来说就是每个人都本地仓库都可以作为一个完整的版本库,拥有所有的版本,但是通常为了好统一所有版本,通常把公司的仓库作为完整的版本库。也就是远程仓库。
在实习的过程中,通常在有需求的时候,需要从代码仓库里把项目拉取下来,接下俩我就我实习过程中常用的git操作介绍一下~
先在这儿推荐一个很好使的插件:GitLens — Git supercharged
可以右键单击文件选择来以列表的形式查看所有的提交记录,也可以看见每一行代码提交的时间:
克隆指定分支
首先一般是在git hash中克隆项目,注意要清楚是从哪个分支拉去项目,有时候可能不是从master主分支拉取。
git clone -b <指定分支名> <远程仓库地址>
查看分支
git branch -a -a是查看所有分支,-r是查看远程分支
查看分支的目的是看现在处于什么分支,是否要切换新的分支
新建分支并切换到这个分支
git checkout -b <name> 注意:新建的分支名字一定得和远程分支的名字相同,这样才可以链接远程分支。
通常这是为了新建一个分支上写你需要更改的代码,而不是直接在原有的分支上修改,毕竟你写完的代码是需要评审的~
git checkout -b <分支名> 相当于两个步骤合二为一:git branch <分支名> + git checkout <分支名>,也就是新建分支和切换分支
推送代码
在你新建好本地分支后,第一次推送代码时,首先要连接远程仓库的远程分支
git push --set-upstream origin <分支名> 关联远程分支
也可以使用 git push,会自动告诉你没有上流分支,根据提示在远程仓库新建这个分支然后就可以和远程的分支关联了。
接下来就是经典三件套
git add .
git commit -m '注释'
git push <origin 分支名> (可省略,默认是连接好的远程分支)
代码上传规范
-
每次上传之前记得要拉一下远程分支再提交代码
git pull 拉去一下分支,避免远程分支已经修改,跟自己的分支有冲突 -
每一次做新的需求都应该新启一个分支,保证一个分支对应一个新需求,这样如果有错也方便去找
-
若是合并有冲突记得找相关代码提交者确认下
-
记得每次提交代码前把自己写的 console 删去,老是忘记这个
暂时储藏代码
在你正在写一个需求的时候,现在发现之前的代码有bug,但是你这部分代码还没开发完,不想提交,怎么办?这个时候可以用 git stash 命令先把工作区已经修改的文件暂存起来,然后切换到分支上进行 bug 的修复,修复完成后,切换回 feature 分支,从堆栈中恢复刚刚保存的内容。
存储代码:git stash save "备注"
查看存储记录:git stash list
应用最近一次暂存的修改,并删除暂存的记录 :git stash pop
应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储:git stash apply
(如果要使用其他个,git stash apply stash@{$num} 。)
删除所有缓存的 stash:git stash clear
代码提交规范异常处理
因为在公司中,代码提交是有固定规范的,比如commit提交规范:
feat: 添加新功能
fix: bug 修复
refactor: 代码重构,比如说代码逻辑修改
docs: 文档修改
test: 添加测试
perf: 优化性能的代码更改
style: 只是对代码格式的更改,不涉及逻辑修改
chore: 既不是添加新功能,也不是 bug 修复,只是一些小细节上的修改
revert: 回退
// eg: git commit -m 'feat: 添加了 XX 功能'
通常冒号后面要跟一个空格
当前代码提交规则,如果忘记按照规范来操作的时候,可以执行git commit --amend
重新修改上次的commit,如果是多次,可以先git rebase -i HEAD~n 这里的n代表commit的次数,修改对应的pick为edit,修改完之后按esc退出,然后:wq保存文件
然后再执行git commit --amend,查看完之后没有问题,git commit --continue是表示修改的比较满意,保存下来的意思
如果需要仅修改提交人信息则增加author=xxxx <email>即,git commit --amend --author=xxx <xxx@jd.com>
查看和修改用户名和邮箱
在公司的代码仓库中,可能还会对操作仓库用户和邮箱有限制,必须是有权限的用户和邮箱才可以把代码push上去,所以修改用户和邮箱也是必须知道的
查看用户名 :git config user.name
查看邮箱:git config user.email
修改用户名:git config user.name xxx
修改邮箱:git config user.email xxx
有时候你不想修改用户名和邮箱还可以跳过验证继续提交:git commit --no-verify(也不是不行,手动狗头,看实际情况~)
常用的Linux命令
还有一些常用的linux命令
在git log 查看commit日志的时候,D 向下翻一行, F 向下翻页, B 向上翻页, Q 退出(适用于所有需要翻页的地方)
1)cd : 改变目录。
2)cd . . 回退到上一个目录,直接cd进入默认目录
3)pwd : 显示当前所在的目录路径。
4)ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。
5)touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。
6)rm: 删除一个文件, rm index.js 就会把index.js文件删除。
7)mkdir: 新建一个目录,就是新建一个文件夹。
8)rm -r : 删除一个文件夹, rm -r src 删除src目录
9)mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。
10)reset 重新初始化终端/清屏。
11)clear 清屏。
12)history 查看命令历史。
13)help 帮助。
14)exit 退出。
15)#表示注释