远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
找到一个图,很形象,可以有助于理解,来源
===============================================================================
由于SVN也比较流行,也时不时的在使用,菜菜在这里就做个两者的区别分析
-
Git按照元数据的方式将文件的一个版本存入了一个类似与K/V数据库,类似Map<K,V>,将内容存储在Git数据库后,会返回我们一个类似Key的钥匙给我们
-
SVN是按照文件的方式进行一个存储。
本地把文件推送到远程服务
SVN
commit
Git
add、commit、push
-
Git是一个分布式的管理系统,本地含有完整的Git仓库,远程仓库有的功能本地Git仓库基本都有
-
而SVN是远程集中式的管理系统,远程仓库挂了就它就挂了
接下来就不说废话了,直接上我们日常常用功能
==========================================================================
这里示例是使用IntelliJ Idea哈,不深入讲Git Bush哈~
第一步,我们先新建一个文件夹,在文件夹里新建一个文件
第二步,进入文件夹,执行git init,创建新的 git 仓库
git init
第三步,创建一个本地仓库
git clone /path/to/repository //创建一个本地仓库的克隆版本
git clone username@host:/path/to/repository //远端服务器上的仓库
工作流:
你的本地仓库由 git 维护的三棵“树”组成。
第一个是你的 工作目录,它持有实际文件;
第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;
第三个是 HEAD,它指向你最后一次提交的结果
第四步,添加和提交
git add
git add *
第五步,提交到了 HEAD
git commit -m “代码提交信息”
第六步, 从HEAD 中提交到远端仓库
git push origin master //可以把 master 换成你想要推送的任何分支
git remote add origin //将你的仓库连接到某个远程服务器
第七步,分支学习
git checkout -b b1 //创建一个叫做“b1”的分支,并切换过去
git checkout master //切换回主分支
git branch -d b1 //删除建的b1分支
git push origin //将分支推送到远端仓库
第八步,更新与合并
git pull //更新你的本地仓库至最新改动
git merge //合并其他分支到你的当前分支,可能出现冲突(需要手动合并这些冲突)
git add //改完之后,将它们标记为合并成功
git diff <source_branch> <target_branch> //合并改动之前,预览差异
设置用户信息
git config --global user.name “xxxxx”
git config --global user.email xxxxxxx@qq.com
查看配置信息
git config --list
git config user.name
git init newDir //在本地初始化一个git仓库
git clone [directory] //clone一个git仓库
git push 使用本地的对应分支来更新对应的远程分支
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin master
项目-》右键-》Git-》Repository-》Push
git pull 获取并合并其他的厂库,或者本地的其他分支
git pull <远程主机> <远程分支>:<本地分支>
git pull origin master:dev
项目-》右键-》Git-》Repository-》Pull
查看分支,前面带*号的就是当前分支
git branch
- dev
master
项目-》右键-》Git-》Repository-》branches
创建分支
git branch 分支名
项目-》右键-》Git-》Repository-》branches-》New Branch
切换当前分支到指定分支
git checkout 分支名
项目-》右键-》Git-》Repository-》branches-》New Branch-》左键选中-》checkout
创建分支并切换到创建的分支
git checkout -b 分支名
合并某分支的内容到当前分支
git merge 分支名
删除分支
git branch -d 分支名
小结;
git branch //查看分支命令
git branch (branchname) //创建分支命令
git checkout (branchname) //切换分支命令
git merge //合并分支命令
git branch -d (branchname) //删除分支命令
查看文件状态
git status //查看文件状态
git status -s //更加具体的简介
将未跟踪的文件加入暂存区
git add dirUrl
git add . //把工作时的所有变化提交到暂存区
git add -u //git add --update的缩写,会将被修改的文件提交到暂存区。add -u 不会提交新文件