之前在老东家一直使用的SVN,差点没跟上时代的步伐,换了家公司,Git初开始使用,是各种不习惯,好在用了俩周还是比较顺手的。记了点使用时的笔记,以便备忘。
- 保持良好的习惯,先fork远程仓库到本人的远程仓库,在clone到本地。建立一个提交从本地代码到–>个人远程仓库–>公司仓库。每次提交代码前都需要先去master分支更新代码,在rebase到自己本地的开发分支,然后再提交代码。
- clone 代码到本地,则其是本地代码的origin仓库,可继续关联公司仓库,关联格式如下:
git remote add upstream git@github.com:xxx/xxx.git
- 保持提交代码不会冲突
1.拉取最新代码,git pull -r upstream master
2.新建并切换到dev分支进行开发
3.开发好后,再切换到master分支更新代码,git pull -r upstream master
4.切换到dev分支,在dev分支rebase已更新的master代码。git rebase master```
- tag 相关
git tag //查看tag
git tag <tagname> //基于最新的commit打tag
git tag <tagname> <commit id> //基于特定的commitid打tag
git push <远程库> <taganme> //将tag 推送到远程库
git tag -d <tagname> //删除本地tag
git push <远程库>:refs/tags/<tagname> //本地tag删除后执行此句,删除远程tag
- 分支相关
git checkout -b dev <commit id> //基于当前分支的commit id新建分支
git push <远程仓库> <本地分支>:<远程分支> //注意:前后不要留空格
git branch -d <分支名> //删除本地分支
git push <远程库> -d <远程分支> //删除远程分支
git branch -r //查看远程分支
git branch //查看本地分支
git branch -a //查看本地和远程分支
- 回退版本
根据自己选项来选择怎么回退
git reset --soft HEAD~ //回退到上一版本,保存更改
git reset --hard HEAD~ //回退到上一版本,不保存更改
git push -f //提交代码,可以冲掉上次的commit的
git reflog //找到需要回退的版本id
git reset --hard <commitid> //回退到对应版本
- 提交代码,还是选用git原生命令。尽量不要用idea所附带的csv进行提交,偶尔会踩一些想不到的坑,例如更改脚本文件权限,会未显示更改,即不会提交。
- github提交pr 校验失败后,需要重新校验,可以comment输入一下命令即可重新校验
retest this please
- 只是为了合并一个master分支的commit代码到dev分支,则可以使用cheery-pick进行剪切。
1. 先到想cherry-pick的master分支git log 查看commit id,记住commit id.
2. 切换到dev分支,执行git cherry-pick <commit id>即可
- 如果一个分支正在开发,但是需要切换另一个分支工作可以暂存,完成后回来再取回。
git stash //暂存
git stash pop //取回