git 使用笔记(二)

2.15 删除文件

   $ rm testDel.txt删除掉工作区的testDel.txt文件,

   1)这时可以通过git checkout -- testDel.txt从版本库恢复该文件到工作区

   

   2)确实要删除它, 可以使用 git rm testDel.txt,  然后提交git commit -m 'info'

 

   3) 如果删除了,并且提交了,再用checkout -- filename就找不到文件了,

     只能通过版本号还原 git reset --hard 0581460, 再 git checkout -- filename, 同步到工作区

 

2.16 远程仓库 操作

  1)创建ssh key

     $ ssh-keygen -t -rsa -C "myemail@email.com"

 2) 登陆github账号

    将id_rsa.pub文件的内容复制到SSH keys页面的相应位置, 然后Add keys

  

  

2.17 添加远程库

 1) 在github上创建一个空的仓库work

    将本地的work仓库和远程的work仓库关联 git remote add testwork git@github.com:yilifighter/work.git

    将本地仓库的master版本推送到git  git push -u testwork master

   (第一次加-u起关联作用,以后不需要)简化为

   git push testwork master

 git push -fu testwork master可以强制覆盖远程的master分支

2.18 远程克隆

 1)使用ssh支持的git协议

 git clone git@github.com:yilifighter/ImgServerPro.git

 2) 使用https协议

  git clone https://github.com/yilifighter/second_github_project

3) 指定地址 克隆

git clone git@github.com:yilifighter/second_github_project.git 'c:\work\second_github_project'

指定的目录应为空

 

2.19 分支

  1)创建分支git branch dev

  2) 检出(切换)分支git checkout dev

 3)创建并检出分支 git checkout -b dev

 4)查看分支 git branch

在新分支上创建文件newBranchFile.txt,并提交

 

切换分支 git checkout master

    (查看当前分支master, newBranchFile.txt文件不在)

5)合并分支 git merge dev

   该命令合并指定分支(dev)到当前分支(master)

(再查看当前分支文件, newBranchFile出现)

 6)删除分支 git branch -d dev

  (dev当前分支名)  

  

 2.20 解决冲突

  1)创建新的分支branch2,修改newBranchFile.txt文件并提交

 2) 切换到master分支,再次修改newBranchFile.txt文件并提交

   此时合并分支,出现冲突

 

  3)查看冲突的文件

   git status

  4) 查看合并情况

  git log --graph --pretty=oneline --abbrev-commit

5) 删除分支

 

2.21 分支管理

  Fast forward 模式在删除分支后会丢失分支信息

     --no-ff 禁用Fast forward模式,会在提交时生成一个commit,则可以看到分支信息

  

查看日志

master分支是稳定版本,一般用来发布新版本, 平时不在上面干活,

小伙伴们平时都在dev分支上干活,都有自己的分支, 再合并到dev

 

2.22 Bug分支

  当在dev分支上进行开发时, 如果需要修改master分支上的bug,怎么办?

     直接切换到master分支上,不行  

而dev一时半会开发不完,不能提交,合并

如上提示中所说, 需要stash保存当前工作现场

  

此时用git status查看,当前分支是干净的,就像回到刚创建并切换分支的状态

  然后创建并切换到bug-1分支,解决bug并提交

      合并bug-1分支,并删除之

 

用git stash list查看工作现场

恢复现场,并删除现场

方式一:

   git stash apply; git stash drop.

 方式二:

        git stash pop

  可以通过git stash apply stash@{num} 来恢复指定的stash

删除现场

posted @ 2016-08-30 16:08  fangfan  阅读(166)  评论(0编辑  收藏  举报