常用命令
-
git config --global credential.helper store #记住用户名和密码
-
git update-index --assume-unchanged config/pay.php #忽略已经提交到版本库的文
-
git reset --hard origin/master #回滚到远程分支,有冲突的时候,放弃本地修改,使用这个
-
git reset --hard HEAD^ #回到上一个版本(撤销版本库的修改)
-
git checkout -- file #撤销工作区的修改(从版本库里重新获取新的,可以用于撤回修改和恢复删除的情况)
-
git reset HEAD file #撤销暂存区的修改
-
git rm # 这个操作等同于,rm + git add
-
git remote add origin git@server-name:path/repo-name.git #添加远程仓库
-
git remote set-url origin git@server-name:path/repo-name.git #修改远程仓库地址
-
git push -u origin master #第一次推送,实际上这条命令是将当前的master分支推送到远程分支,git 会自动关联远程的分支和本地的分支
-
git checkout -b dev #创建并切换到dev分支
-
git checkout master #切换到master分支
-
git merge --no-ff -m '合并dev分支' dev # 禁用快进方式合并分支
-
git log --graph --pretty=oneline --abbrev-commit #友好的显示日志信息,在linux下可以为这个长命令起一个别名
-
git branch -d feature-vulcan #删除一个已经合并过的分支
-
git branch -D feature-vulcan #删除一个没有合并国的分支
-
git checkout -b dev origin/dev #创建并切换到dev分支并与远程dev分支关联
-
git branch --set-upstream-to=origin/dev dev #将远程的dev分支与本地的dev分支进行关联
-
git tag -a <tagname> -m "blablabla..." #为某一次提交打一个标签
-
git push origin v1.01 #将v1.01标签推送到远程
-
git push origin :refs/tags/v1.00 #删除远程v1.00标签
-
git config --global core.filemode false #忽略文件权限的修改
小策略
1.分支管理策略
在实际开发中,我们应该按照几个基本原则进行分支管理:首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
2.bug分支
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
3. 多人协作
多人协作的工作模式通常是这样:
首先,可以试图用git push origin <branch-name>推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。
git配置过程中fatal:拒绝合并无关的历史
首先将远程仓库和本地仓库关联起来:
git branch --set-upstream-to=origin/master master
然后使用git pull整合远程仓库和本地仓库,
git pull --allow-unrelated-histories (忽略版本不同造成的影响)
</branch-name></branch-name></branch-name></branch-name></tagname>
网友评论