日常工作流
在日常的工作中,以下指令是常用到的:
1.修改邮箱配置
git config --global user.email '新的邮箱'
2.修改名称配置
git config --global user.name '新的名称'
上面的情况,一般只有首次使用新电脑才需要配置
3.查看远程仓库地址
git remote -v
4.拉取仓库代码
git clone 仓库地址
5.查询当前本地分支
git branch
6.创建一个自己的开发分支
git branch 分支名
7.删除分支,当创建后不想要开发分支时,可以执行该指令
git branch -D 分支名
8.切换到开发分支
git checkout 分支名
9.保存代码修改至暂存区
// 报错所有修改文件至暂存区
git add .
// 保存某修改文件至暂存区
git add '文件名'
10.提交修改到本地仓库
// 简单的commit描述
git commit -m'提交描述'
// 按照特定规范进行的commit描述
git commit
// 之后会进入vim编辑界面,按i进行输入修改commit内容,改完后,按esc按键进行保存,再输入:wq退出编辑
11.切换至master主分支,并且拉去最新代码,这个时候可能有其他同事会代码合入
git checkout master
// 如果是再master之外的分支,需要使用git pull origin 对应的远程分支名
git pull
12.切换会开发分支,并于master合并
git checkout 开发分支
// 与master主分支合并
git rebase master
13.代码推送至远程仓库
git push origin 开发对应的远程分支
// 强制覆盖提交
git push -f origin 开发对应的远程分支
14.当本地commit合并时
// 需要先执行
git log // 拿到合并的最早一次commit的前一个commit的id
// 之后执行
git rebase -i commit的id
// 之后会进入vim编辑界面,最上面的commit不动,其他均把pick改为s,之后保存并且退出
15.冲突解决
(1).执行rebase master之后,存在冲突时,解决冲突,然后执行git add .跟踪修改,之后就可以push了
git工作流程
其他指令
指令 | 作用 |
---|---|
git status | 查看状态 |
git log | 查看提交日志(当存在回滚操作时,回滚前的版本日志不会显示) |
git log oneline | 简洁日志 |
git reflog | 查看分支所有提交日志(包括回滚前的日志) |
git init | 在本地初始化一个git仓库 |
git reset —hard 版本号 | 回滚到指定commit版本 |
git remote remove origin 仓库地址 | 解除与远程仓库的连接 |
git remote | 查看远程仓库名称 |
git remote -v | 查看远程仓库地址 |
git show commit(ID) | 查看对于commit的代码改动情况 |
多人合作开发
项目中遇到工作量大,需要多人合作完成时,相互之间的分支合并很容易产生冲突
刚好近期遇到了这个问题,当自己提交cr合入同事时,同事没有rebase将master中的最新commit合入,自己rebase了master分支,这个自己与同事之间的合并必然会产生冲突
1.先合并自己分支修改至与需要合并的分支的最新commit一致
git rebase -sort commit(ID)
2.保存修改
git add .
git commit
3.推送代码
git push
版本回滚
revert
、reset
- reset: 回滚到某个版本,目标版本后的commit记录被删除
git reset --hard commitID
- revert:回滚某个commit,并生成一个新的commit,可能会出现冲突需要处理
git revert commitID
依赖版本查询
// 数组形式输出所有版本号
npm view 依赖名 versions
// 查询所有依赖,输出所有当前使用的所有依赖名
npm list