目录
1. 创建本地项目并上传GitHub
见笔者另一篇文章详细介绍:
2. Git合并(merge)指定文件或文件夹
需求: 将dev分支的部分文件合并(merge)到master分支并推到远程
原理: 先把master分支代码拷贝一份,成为一个新的临时分支master-temp,然后把dev分支上需要合并过来的那部分文件或文件夹替换到临时分支master-temp上,然后把临时分支master-temp合并到master分支,这时dev分支上要合并的部分文件或文件夹已经成功的合并到master分支上了,最后再删掉这个临时分支master-temp,就OK了。
操作:
切换到master分支,并保持master分支最新
git checkout mastergit pull复制代码
基于master分支创建一个临时分支master-temp,并切换到该分支上
git checkout -b master-temp复制代码
用dev分支指定文件或文件夹替换master-temp分支上相应的文件
语法:git checkout dev [目标文件夹或目标文件]举例:git checkout dev src/test/controller/说明:执行完此命令,dev分支下的src/test/controller/文件夹就会替换master-temp分支下相应的文件夹复制代码
将本次checkout内容提交到master-temp分支上
git commit -m "提交信息到临时分支master-temp上"复制代码
切换到master分支
git checkout master复制代码
比较临时的master-temp分支与master分支的差异,是否就是想要合并的差异
git diff master-temp master复制代码
合并master-temp分支到master分支
git merge master-temp复制代码
将本地master分支推到远程master分支,并删除临时master-temp分支(本地的)
git push origin master## 查看所有分支git branch -a## 删除本地临时分支master-tempgit branch -d master-temp复制代码
3. Git 比较差异
说明:既支持对整个区域差异比较,也支持针对单个文件夹或文件的差异比较。
## 比较工作区和暂存区的差异git diff## 针对某个文件夹或文件,比较工作区和暂存区的差异git diff [文件夹或文件]例如:git diff controller/## 比较工作区和当前分支最新commit之间的差异git diff HEAD## 针对某个文件夹或文件,比较工作区和当前分支最新commit之间的差异git diff HEAD [文件夹或文件]例如:git diff HEAD controller/ControllerTest.java## 比较暂存区和上一个commit之间的差异git diff --cached## 针对某个文件夹或文件,比较暂存区和上一个commit之间的差异git diff --cached [文件夹或文件]## 比较各个分支之间的差异git diff [first-branch] [second-branch]...[last-branch]## 针对某个文件夹或文件,比较各个分支之间的差异git diff [first-branch] [second-branch]...[last-branch] [文件夹或文件]复制代码
4. Git 撤销操作
后续更新中...
5. Git 删除分支
## 删除本地分支git branch -D [branch-name]举例:git branch -D dev-test-v190218-rangdandanfei## 删除远程分支<1> git push origin --delete [branch-name]举例:git push origin --delete dev-test-v190218-rangdandanfei<2> git branch -dr [remote/branch]举例:git branch -dr origin/dev-git-use-v190219-rangdandanfei(使用git branch -a命令看一下有没有删除掉)复制代码
扩展
1. Git学习网站资料收集:
廖雪峰Git教程:
git - 简易指南: