git命令学习

一些基本概念:
能看到的文件夹,叫工作区(working Directory)
git init后生成的 .git 目录,叫git的版本库(Repository)
.git里面的stage/index,叫做暂存区
git自动创建的第一个分支master,以及指向master分支的一个指针HEAD

工作区—->(add 操作)—>暂存区–>(commit 操作)–>master分支
这里写图片描述

关于git版本控制的一些基本操作命令

git init 目录git初始化
git add 【文件】添加到暂存区
git commit -m “附加提交的提示信息” 正式提交到仓库

git status 查看当前状态
git diff 查看工作区的文件和版本库里最新版本文件的区别
git log (–pretty==oneline 一次记录显示在一行)查看提交的历史纪录
git reflog 记录之前的每一次的git操作

版本回退操作:

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

git reset –hard HEAD~100 回退到前100个版本

git reset –hard commit_id 回退到任意制定的版本(commit_id :可使用 git log 或 git reflog ,在输出的信息里查找 )

撤销修改:

工作区修改错误,撤销改动: git checkout – filename 回到最近一次git commit/add时,工作区的状态
工作区修改错误且已经add提交到暂存区,撤销所有改动:
1、 git reset HEAD filename 把暂存区的修改撤销掉
2 、git checkout – filename 把工作区的修改撤掉
已经commit提交不合适的版本到版本库,撤销本次提交:
前提是没有推送到远程仓库,使用版本回退操作:git reset –hard HEAD^/commit_id


创建与合并分支:(分支都是一个个指针,创建与合并其实是指针移动的过程)

查看分支:git branch
创建分支: git branch branchName
切换分支:git checkout branchName
创建+切换分支:git checkout -b branchName

合并某分支到当前分支(其实是把当前分支的指针指向要合并的分支):
1、查看当前分支 git branch
2、将当前分支的指针指向要合并的分支:git merge WantToBeMergedBranchName
冲突:当git无法自动合并时,必须解决冲突,解决完再提交,提交后即合并完成
当当前分支与合并分支有冲突时,文件中会用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,必须手动修改,解决冲突后再提交。

git add filename
git commit -m "conflict fixed"

完成后可用 git log --graph --pretty=oneline --abbrev-commit 看到分支合并图

删除分支:git branch -d branchName
强行删除分支:git branch -D branchName

常用的合并方式:合并分支时,默认使用Fast forward 模式,但在这种模式下,删除分支后,会丢掉分支信息。禁用Fast forward 模式,采用普通模式合并,git会在merge时生成一个新的commit:

git merge --no-ff -m "new mergeVersion"  WantToBeMergedBranchName

这里写图片描述


关于远程仓库:
查看远程库信息:git remote (-v)
推送某个分支:git push origin WantToBePushedBranchName
如果有冲突先pull,修改后再push
设置本地分支与远程分支相关联:

 git branch --set-upstream dev origin/dev

在本地创建和远程分支对应的分支(适合于git clone后的情况):

 git checkout -b dev origin/dev
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值