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

删除现场

浙公网安备 33010602011771号