本人待的两家公司,一直都是用的SVN,Git我只是自己私下学习和开发小项目的时候用过,工作一直没有使用过,但还是要学的。。。

Git是最好的分布式版本控制系统

工作流程

SVN和Git的区别

  SVN是集中式版本控制系统,版本库是集中放在中央服务器的,在工作的时候你首先要从中央服务器哪里得到最新的版本,然后在写完代码

之后,把这些内容提交到服务器。前提必须联网才能工作,一般都是公司自己的局域网

  Git是分布式版本控制系统,没有中央服务器的,每个人的电脑就是一个完整的版本库,工作的时候就不需要联网了,因为版本都是在

自己的电脑上。

多人如何协同工作:

  比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修

改了。

工作区和暂存区

工作区:

  就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区

范畴。

版本库(Repository):

  工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git

为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

分支操作

git branch 创建分支

git branch -b 创建并切换到新建的分支上

git checkout 切换分支

git branch 查看分支列表

git branch -v 查看所有分支的最后一次操作

git branch -vv 查看当前分支

git brabch -b 分支名 origin/分支名 创建远程分支到本地

git branch --merged 查看别的分支和当前分支合并过的分支

git branch --no-merged 查看未与当前分支合并的分支

git branch -d 分支名 删除本地分支

git branch -D 分支名 强行删除分支

git branch origin :分支名 删除远处仓库分支

git merge 分支名 合并分支到当前分支上

  通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来

禁用”Fast forward”模式。

暂存操作

git stash 暂存当前修改

git stash apply 恢复最近的一次暂存

git stash pop 恢复暂存并删除暂存记录

git stash list 查看暂存列表

git stash drop 暂存名(例:stash@{0}) 移除某次暂存

git stash clear 清除暂存

回退操作

git reset --hard HEAD^ 回退到上一个版本

git reset --hard ahdhs1(commit_id) 回退到某个版本

git checkout -- file撤销修改的文件(如果文件加入到了暂存区,则回退到暂存区的,如果文件加入到了版本库,则还原至加入版本库之后的状态)

git reset HEAD file 撤回暂存区的文件修改到工作区

标签操作

git tag 标签名 添加标签(默认对当前版本)

git tag 标签名 commit_id 对某一提交记录打标签

git tag -a 标签名 -m '描述' 创建新标签并增加备注

git tag 列出所有标签列表

git show 标签名 查看标签信息

git tag -d 标签名 删除本地标签

git push origin 标签名 推送标签到远程仓库

git push origin --tags 推送所有标签到远程仓库

git push origin :refs/tags/标签名 从远程仓库中删除标签

常规操作

git push origin test 推送本地分支到远程仓库

git rm -r --cached 文件/文件夹名字 取消文件被版本控制

git reflog 获取执行过的命令

git log --graph 查看分支合并图

git merge --no-ff -m '合并描述' 分支名 不使用Fast forward方式合并,采用这种方式合并可以看到合并记录

git check-ignore -v 文件名 查看忽略规则

git add -f 文件名 强制将文件提交

git clone http://username:password@链接,例如http://zhangsan:123456@gitee.com/abc/def.git clone远程仓库到本地

git创建项目仓库

git init 初始化

git remote add origin url 关联远程仓库

git pull

git fetch 获取远程仓库中所有的分支到本地

忽略已加入到版本库中的文件

git update-index --assume-unchanged file 忽略单个文件

git rm -r --cached 文件/文件夹名字 (. 忽略全部文件)

取消忽略文件

git update-index --no-assume-unchanged file

拉取、上传免密码

git config --global credential.helper stor

Git命令原文地址:https://www.cxiansheng.cn/daily/490

最新文章

  1. ListView加checkBox可以实现全选等功能
  2. Jsp与servlet的区别 1
  3. ccc animation
  4. 二模Day2题解
  5. MD5和DES加密方法
  6. pkusc2015
  7. SWT的TableVierer的使用二(数据排序)
  8. linux 查看日志
  9. 【转】轻应用、Web App、Native App三者分别是什么?
  10. AFDX总线协议规范
  11. Salesforce Invoking Http Callouts and Testing Http Callouts
  12. Python全栈之路----三元运算
  13. android studio 查看预览所有屏幕分辨率下的显示
  14. Java通过wait()和notifyAll()方法实现线程间的通信
  15. adb 查看内存信息的命令
  16. linux ls文件颜色和底色设置
  17. 高性能页面加载技术--BigPipe设计原理及Java简单实现
  18. sort、sorted、heapq、bisect排序
  19. Date、String、Calendar相互转化
  20. 使用Intellij加载Spark源代码

热门文章

  1. hdu 5253 连接的管道(kruskal)(2015年百度之星程序设计大赛 - 初赛(2))
  2. jquery.validate自己定义验证--成功提示与择要提示
  3. uva 10452 Marcus
  4. easyUI 对话框的关闭事件
  5. ubuntu14安装docker-ce
  6. 三种解密 HTTPS 流量的方法介绍
  7. 杂项-Java:Druod Monitor
  8. SqlServer数据库性能优化详解
  9. 3-1 vue生存指南 - todolist实现-数据渲染
  10. java笔记线程方式2