svn与git

1 篇文章 0 订阅

**

svn:

**
svn存在的是每个版本的差异,需要内存比较小,但是回滚的速度比较慢
优点:存储在单一的服务器,便于集中管理
缺点:
1、服务器宕机:写的代码得不到无法及时存储
2、服务器损坏:整个项目丢失

**

git:

**
git每次存储的是项目的完整快照,需要的硬盘相对较大,但是Git会对项目进行压缩,最后与svn相差不了太多,并且回滚速度较快

**

git操作的基本流程:

**
底层命令:
创建工作目录,对工作目录进行修改
1、git add ./
这个命令相当于
git hash-object -w 文件名 (创建git对象)
git update-index 创建暂存区
2、git commit -m “注释内容”
相当于命令:
git write-tree //创建树对象
git commit -tree

git相关高级命令:
git init 初始化仓库
git status 查看文件的状态
git add 文件名/路径 将修改添加到暂存区
git commit -m “注释内容” 将暂存区提交到版本库

git diff 查看那些文件被修改但是没有被暂存
git diff --staged 查看已经暂存准备提交的文件
git commit 可以进入vim编辑界面,写更多的注释内容
git commit -a 可以跳过暂存区直接提交

r m 文件名 移除文件
mv 文件名 新的文件名 修改文件名

//git log 查看历史记录
git log --oneline 查看历史记录,更加直观
git rm 文件名 删除加加入缓存(git add ./)一起执行

**

分支:

**
git brance 指针名 创建指针 这时HEAD指针还指的是master 还不上新建的指针
git brance 显示分支列表
git checkout 指针名 改变HEAD指针指向 (切换分支)
git checkout -b 分支名 上面新建和切换同时进行
git brance -D name 强制删除分支 注意:要先切换分支到主分支 master
git brance -v 查看每个分支最后一次提交
git brance name 哈希 创建一个分支并指向这个新对象 主要作用是回到哈希对应的版本 注意:创建完要切换分支的指向
git config --global alias.name “命令” 配别名 在我们使用git语句时,命令较长我们可以配别名,缩短语句,方便使用 注意:命令我们通常使用双引号,命令是没有git,将git去掉

注意:每次且切分支前当前目录一定是干净的(新文件以暂存和提交),所以我们在切换分支前要进行git status来查看目录是否干净

分支合并:
1、快进合并:(在一条主线上)
git status 首先查看当前分支是否干净
git chechout master 将分支切换到主分支上
git merge 合并的分支名

2、典型合并:
不在一条主线上,进行快进合并会发生冲突,解决冲突:
打开冲突文件将多余的代码进行删除,再次进行add和commit进行提交,这时就解决了冲突

合并完成后就可以将分支进行删除
git brance -d 分支名

**

Git存储:

**
应用场景:我们在某一分支上工作了一半,我们需要将我们没有进行完 的工作进行保存
git stash 将未完成的项目暂时存储在栈(先进后出)里,方便我们下次进行再次书写
git stash apply 应用保存在栈里的
在我们重新应用后,我们需要对栈内存储的项目进行删除 git stash drop 储藏的名字

所以我们有一步到位的
gir stash pop 应用存储然后进行删除

撤销和重置;
撤销工作目录中的修改: git checkout --文件名

暂存区的修改撤销: git reset HEAD 文件名
底层命令:
1、git reset --soft HEAD~ 将HEAD回退到一次提交,这个只变得是HEAD(带着分支一起移动),暂存区和工作区回退之前提交的内容没有变,只修改HEAD,其他没有变
git reset --soft 哈希 将HEAD移动到对应的哈希

2、git reset --mixed HEAD~ 也是退回上一次的提交,这次变得是HEAD(带着分支一起移动)和暂存区 这个可以加文件名,就是回退这一个文件,如果没有文件名会将目录中的文件全部回退只动了暂存区,没有动 HEAD

3、git reset --hard HEAD~ 退回上一个 HEAD,暂存区,工作区都变
撤销提交: git commit --amend 应用:在我们提交后注释写错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值