git操作入门

来源:互联网 发布:dbscan聚类算法 编辑:程序博客网 时间:2024/05/29 12:42

    1. git简介
       分布式版本管理工具
       svn是集中式版本管理工具
    2. 下载地址
       http://msysgit.github.io/
    3. 命令行操作窗口
      开始-Git-GitBash打开命令输入窗口
      $ git config --global user.name "Your Name"
      $ git config --global user.email "email@example.com"
      创建用户名和邮箱
    4. 初始化
      进入仓库路径git init进行仓库初始化
    5. 添加文件
      git add readme.txt
    6. 关于VIM窗口
      开始用git commit 提交的时候是用 -m “message”的
      后来直接用git commit 回车后弹出一个窗口,后来才知道是linux下的文本编辑器
      郁闷的是半天退出不出来,baidu,google一番,
      进入之后是VIM的普通模式,按 键,进入INSERT模式,这是可以输入message了。
      输入完成之后,按ESC键进入命令模式 ,输入冒号(在窗口下面显示),然后输入x,回车就OK了。
    7. git status
       打印文件状态信息
    8. git diff
      查看修改内容
    9. 版本回退
      1. git log显示提交的log信息,包括commit id,time,message等信息2>
      2. 回退到之前版本
        1. 上一个版本
          git reset --hard head^
        2. 倒数第二个版本
          git reset --hard head^^
        3. 倒数第100个版本
          git reset --hard head~100
      3. 前一个版本
          1. 查看历史命令
            git reflog
          2. 跳转到CommitID的版本
            git reset --hard "CommitID"
    10. 工作区和暂存区
      1.     
        add时把文件放到暂存区(stage)commit时把所有暂存区内容放到master工作区
    11. 恢复修改
      1. 回退到版本库最新版本
        1. git checkout -- file
      2. 放弃缓存区修改,add但未commit
        1. git reset HEAD file
    12. 删除文件
      1. git rm filename
    13. 与远程仓库进行交互
      1. ssh-keygen -t rsa -C "youremail@example.com"
        创建 id_rsaid_rsa.pub 两个文件
      2. 将本地仓库上传到远程仓库
        1. git remote add origin git@github.com:your git name/learngit.git
        2. git pull testpository master
        3. git push -u testpository master
        4. 之后继续更新只需要 git push origin master
      3. 从远程仓库clone到本地仓库
        1. git clone git@github.com:your git name/gitskills.git
    14. 分支操作
      1. 查看分支
        1. git branch显示所有分支,当前分支前面有*
      2. 创建分支
        1. git branch <name>
      3. 切换分支
        1. git checkout <name>
      4. 创建并切换分支
        1. git checkout -b <name>
      5. 合并分支到当前分支
        1. git merge <name>
      6. 删除分支
        1. git branch -d <name> //若分支存在为合并的修改,则删除失败
        2. git branch -D <name> //强制删除分支,有未合并的修改也一起删除
      7. 查看分支合并图
        1. git log --graph
      8. 合并后显示合并的log
        1. git merge --no-ff -m "merge with no-ff" dev‘
      9. 保存当前分支修改的状态(未进行add或commit)
        1. git stash
        2. 查看所有保存的状态
          1. git stash list
        3. 恢复某一个状态
          1. git stash apply或git stash apply stash@{0}恢复到某一个具体的状态
          2. git stash drop
          3. git stash pop 恢复并删除
    15. 多人合作开发工作流程
      1. git push origin branch-name 向远程仓库推送修改
      2. 若推送失败git pull进行合并
      3. 失败 提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建
        git branch --set-upstream branch-name origin/branch-name
      4. 解决冲突
      5. git push origin branch-name提交
    16. 标签管理
      1. 创建标签
        git tag <name> <id>
        git tag -a <name> -m <message> <id>
      2. 查看标签
        git tag
        git show tag <id>
      3. 删除标签
        git tag -d <tagname>
      4. 推送标签
        git push origin <tagname>
        git push origin --tags
      5. 删除已经推送的标签
        1. 先在本地删除标签
          git tag -d <tagname>
        2. 删除远程标签
          git push origin :refs/<tagname>
    17. 新建目录添加到github
      1. git init
      2. git add --all
        git commit -m"add new file"
      3. git remote add origin git@github.com:your git name/learngit.git
      4. git push -u testpository master

2 0