美文网首页
git 实用

git 实用

作者: lingtongfu | 来源:发表于2016-02-27 15:50 被阅读0次

    目录

    一、基本使用官方文档

    http://www.bootcss.com/p/git-guide/


    单机模式

    工作流:

    git  status查看当前git的工作状态  

           0.干净  新增或修改->  1.未记录  add->      2.已提交     commit  ->   3.干净   

    问题由浅入深:

          处于已提交的状态(即状态2) 怎么返回?  

              只撤销一个文件的修改: $ git reset <文件名>   

              撤销所有文件的修改: $  git reset

              修改HEAD指针! : $ git reset --soft HEAD~1    git reset --hard <commit_id>

          处于干净的状态怎么返回?  可以修改提交的备注信息吗? 不小心commit  还push了怎么办 ? 

          编辑最近一次的提交信息,如果你对当前的代码库(working copy)做修改,这些修改也会随commit信息一起提交。

           git commit --amend -m ”NEW-COMMIT-MESSAGE”

           这将不执行最后一次提交,恢复你原来的内容,提交信息将默认为你下次提交的信息。

          假如你已经将代码提交(git commit)推送(git push)到了远程分支,那还需要通过下面的命令强制推送这次的代码提交。

         git push origin HEAD --force  (不推荐使用)

          如何回到过去的版本?

          使用git log 查看 提交历史记录  http://blog.csdn.net/wh_19910525/article/details/7468549

          使用git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能看已经删除了的commit记录

            git reset --hard   <commit_id> 


    协同模式:

    分支:

    创建分支: $ git branch mybranch

    以远端master创建分支: $ git checkout -b mybranch  o/master 

    切换分支: $ git checkout mybranch

    列出所有分支: $ git branch

    删除分支: $ git branch -d mybranch

    强制删除分支: $ git branch -D mybranch

    删除远程分支:$ git push origin --delete  <branch_name>

    合并与更新 

    更新master主线上的东西到该分支上:$git rebase master

    更新mybranch分支上的东西到master上:$git rebase mybranch

    如果有冲突 :

              不要随意删除别人的代码 !

              解决完合并冲突后要添加文件...  ( 是的  我忘记过不止一次. )

    好的建议:

               1.提交前diff一下代码   确保没有提交测试和   有bug的代码.

               2.下班回家前整理好自己的工作区 ,   该提交的就提交    有备份也避免丢代码的风险.  

               3.并行的项目, 使用分支开发

               4.产品发布后记得打tag,  方便以后拉分支修bug.

    扩展阅读:

    git push origin master  和  git push -u  origin 有什么区别 ?

    http://stackoverflow.com/questions/5561295/what-does-git-push-u-mean

    简而言之:   -u 影响 git fetch 与 git  pull.   -u将提交的 git server记录在git config文件中!  

    merge 和 rebase 的区别?

    http://blog.csdn.net/wh_19910525/article/details/7554489

    相关文章

      网友评论

          本文标题:git 实用

          本文链接:https://www.haomeiwen.com/subject/jfswkttx.html