git - 常用命令和常见问题和反思

git reset –hard HEAD^ // 回退至上一个版本
git reset –hard 323232323 // 通过git log 回退到指定版本号
Git branch
Git branch -r //
Git branch -a // git pull以后,输入命令查看为包含远端全部分支
Git checkout -b 170801 feature/origin/170801 // 新拉分支,本地分支名
//本地分支改名,git branch -m [oldBranch] [newBranch]
git branch -m remotes/origin/dev dev
Git status // 查看代码改动
Git diff XXX // 查看文件改动差异
// 不冲突更新代码
git stash // 缓存本地修改文件
git stash list // 查看缓存文件的记录
git pull // 更新代码
git stash pop stash@{0} // 更新代码后弹出缓存修改的文件,{ x }, x为记录序号
Git commit XXX -m ‘message’ // 提交单个文件,m为信息
Git commit -am ‘message’ // 提交所有文件,m为信息
Git push // 推到远端
Git add XXX // 添加单个新增文件
Git add . // 添加所有新增文件
Git checkout XXX // 切换分支
// 删除分支
git branch -d origin/20170822 // 本地删除
git push origin :origin/20170822 // 推到远端
修改远程分支名:
git branch -m old_branch new_branch # Rename branch locally
git push origin :old_branch # Delete the old branch
git push –set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
查看远程分支:
git remote show origin
删除本地与远程不同步的分支
git remote prune origin
git分支加版本管理
1、分支:
master-主干分支,受保护仅做代码的合并和拉取,不做代码提交;
feature-常规版本,一般为一个迭代
bugfix-bug修复版本,迭代周期内的版本
一般来讲:并存的开发分支不要超过3个,多了容易出现合并问题造成代码比较乱
2、合并:每次代码发布在当前开发分支,本地更新分支数据后,切到master,merge 开发的分支,然后将合并后的master分支合并代码未发布的分支上。
3、打tag, master合并后, // tag保存分支版本信息,便于回滚查代码
git tag v1.1.0 -am ‘feature/180713 v1.1.0’
git tag // 查看tag的list
git push origin v1.1.0 // tag推到远端
4、将发布后的分支受保护,如果没有问题解除前个分支然后删除,保持分支干净;
5、版本号,可在项目package.json中写每个分支的版本号以便管理。

一些sense:
Git合并两个分支机制
1、文件较新的修改时间默认会覆盖旧的时间,
2、如果合并的两个分支代码有出现格式不一致则发生冲突表现出来,
3、合并应在发版后一天早上及时合并,必要时锁分支合并;(一般采取新时间取代旧时间方法,如果出现冲突一定要比对文件,并且问对应开发,
4、尽量做到一个开发负责一个文件,如果出现多个人开发同一个文件,合并时候可能存在改同一个文件,然后就不知道哪个是需要的;
5、合并一定要小心分析,不要随意删除代码;

注意代码的加减,尽早合并、冲突看历史、尽量一人开发一文件;
6、合并代码前需要考虑合并的必要性,假如7.3快开发版回滚之前的版本代码而0705不变的情况,则不需要合并;假如是为了修复问题则0703需要合并到0705
7、合并分支不要跨版本拉分支开发,比如,master分支,0705,从master拉的0719,假如同一段代码master和,0719都是false,0705改为了true,但是0705还没发,可能出现开发刚好改了这块0719的代码,然后0705发完后被合并到0719,可能会被0719覆盖了0705的代码,可能发生冲突解决阶段使用了0719的,因此不要跨常规版本拉分支;

Git Hook:
https://www.jianshu.com/p/935409ce4c9a

猜你喜欢

转载自blog.csdn.net/weixin_42284354/article/details/81035940