Contents
  1. 1. 2015/11/22 23:01:52
    1. 1.1. Git的语法
  2. 2. 2015/11/22 23:01:58
  3. 3. 删除文件
  4. 4. 2015/11/22 23:17:46
    1. 4.1. 分支操作
  5. 5. 2015/11/22 23:19:22
    1. 5.1. 删除未合并的分支用强行删除
  6. 6. 2015/11/22 23:19:48
    1. 6.1. 多人协作
  7. 7. 2015/11/22 23:02:08
    1. 7.1. Stash保存当前工作状态
  8. 8. 2015/11/22 23:21:53
    1. 8.1. 标签

2015/11/22 23:01:52

Git的语法

Git是对整个目录进行版本控制(有.git的目录)
常用命令:

  1. 创建版本库 git init
  2. 将文件添加到版本库 git add 文件(git add Erintrus.txt)
  3. 讲文件提交到版本库 git commit -m “这里添加修改说明”
  4. 查看版本库现状 git status
  5. 查看修改内容(上次提交到现在修改) git diff
  6. 版本回退

    • 回退到上一个版本 git reset – hard HEAD^
    • 回退到未来的版本 git reset –hard commit_id
  1. 撤销修改(“–”表示撤销,不加的话就是切换分支)

    • 未add到暂存区的时候用git checkout –file
    • add到暂存区的时候用git reset head file
  1. 关联远程库

git clone git@github.com:用户名/文件夹名.git

git clone git@github.com:erintrus/erintrus.github.io.git

2015/11/22 23:01:58

删除文件

  • 删除文件 文件夹里删除Crop.md文件
  • 将其加入到暂存区 git rm 文件名 git rm Crop.md
  • 提交结果 git commit

2015/11/22 23:17:46

分支操作

查看分支:git branch

创建分支:git branch

切换分支:git checkout

创建+切换分支:git checkout -b

合并某分支到当前分支:git merge (解决冲突)

删除分支:git branch -d

git checkout -b erintrus 后 ,流程如下

git log 后退出dos 按一下q即可

2015/11/22 23:19:22

删除未合并的分支用强行删除

git branch -D <name>

2015/11/22 23:19:48

多人协作

情景:多人协作时,大家都会往master和dev分支上推送各自的修改。(会有冲突)

推送分支:

猿A新建dev分支推送到远程库上(git push origin dev)
猿B从远程库clone下来是看不到dev分支的,所以需要创建一个dev分支,并且与远程库的dev分支关联

git checkout -b dev origin/dev

多人修改同一文件:

猿B在dev推送了自己对example.md文件的修改
猿A也对此文件做了修改 想git push,但是失败,需要先从远程库git pull,其git pull也报错,提示no tracking错误,则需要指定本地dev跟远程dev分支的链接

git branch --set-upstream branch-name origin/branch-name

参考文章

2015/11/22 23:02:08

Stash保存当前工作状态

示例:工作做到一半需要去修改另一个bug,先把当前工作内容保存起来,然后再去解决bug。

  • 保存当前工作状态

    git stash
    
  • 还原工作状态

    git stash apply -----还原不清除缓存区
    
    git stash drop ------ 清除缓存区
    
    git stash pop ----还原并清除缓存区
    

示例:修改bug 一般思路:

把当前工作区状态保存起来,新建临时分支去修改bug,修复后合并分支,删除临时分支,恢复现场。

  • 保存当前工作区的状态: git stash
  • 创建新的分支: git checkout -b Erintrus
  • ……..(一系列修改bug)
  • 恢复原先的工作区状态(两种方法)
    • 恢复工作区 git stash apply ,删除stash区数据 git stash drop
    • 恢复加删除git stash pop (上面两句的合并)

2015/11/22 23:21:53

标签

  • 作用 —— 记录发布的版本
  • 理解 —— 不能移动的分支
  • 语法

    • 创建标签

      git tag 标签名
      git tag 标签名 commit-id
      
    • 查看所有标签

      git tag
      
    • 指定标签信息

      git tag -a 标签名 -m "信息"
      
    • 删除标签

      git tag -d 标签名
      
    • 推送标签到远程(默认不推送标签)

      git push origin 标签名
      git push origin --tags  //推送全部标签
      
    • 删除远程标签(先删除本地标签)

      git push origin :refs/tags/标签名
      
Contents
  1. 1. 2015/11/22 23:01:52
    1. 1.1. Git的语法
  2. 2. 2015/11/22 23:01:58
  3. 3. 删除文件
  4. 4. 2015/11/22 23:17:46
    1. 4.1. 分支操作
  5. 5. 2015/11/22 23:19:22
    1. 5.1. 删除未合并的分支用强行删除
  6. 6. 2015/11/22 23:19:48
    1. 6.1. 多人协作
  7. 7. 2015/11/22 23:02:08
    1. 7.1. Stash保存当前工作状态
  8. 8. 2015/11/22 23:21:53
    1. 8.1. 标签