git相关整理

git TortoiseGit

git github gitlab

git 配置全局变量
git config --global key value
如下所示:
配置window 换行符校验
git config --global core.autocrlf false
配置用户名和邮箱:
git config --global user.name [username]
git config --global user.email [email]
使用git config --list查看已设置的变量git config --list --global
查看分支git branch --all

Git共有三个级别的config文件,分别是system、global和local。
在当前环境中,分别对应%GitPath%\mingw64\etc\gitconfig文件、$home.gitconfig文件和%RepoPath%.git\config文件。
其中%GitPath%为Git的安装路径,%RepoPath%为某仓库的本地路径。
所以system配置整个系统只有一个,global配置每个账户只有一个,而local配置和git仓库的数目相同,并且只有在仓库目录才能看到该配置。
(gloabal对当前用户所有仓库有效
local只能对仓库有效
system对系统所登陆的用户有效)

git commit之后,想撤销commit
写完代码后,我们一般这样
git add . //添加所有文件
git commit -m “本功能全部完成”
执行完commit后,想撤回commit git reset --soft HEAD^
HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤回,可以使用HEAD~2

–mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
–soft
不删除工作空间改动代码,撤销commit,不撤销git add .
–hard
删除工作空间改动代码,撤销commit,撤销git add . 注意完成这个操作后,就恢复到了上一次的commit状态。
git commit --amend
如果commit注释写错了,只是想改一下注释,此时会进入默认vim编辑器,修改注释完毕后保存就好了。

工作目录–git add files–暂存区–git commit–版本历史

给文件重命名 git mv old_files new-files

gitlog 查看版本历史
git log --oneline (简单查看)
git log -n4 --oneline (最近的几个)
git log --all 查看所有分支的版本信息
–graph 可以图标显示

git branch -v 可以查看本地多少分支
git checkout master 切换分支

gitk 图形化看版本历史 gitk --all

blob tree commit 三种格式

commit存储一次提交的信息,包括所在的tree,parent是谁,以及提交的作者是谁等信息。

tag:标签,实际可当做是commit的别名。

tree:代表的是目录结构,或者简单理解为代表一个目录

blob:用来存储文件内容,或者说表示一个文件

总结

每一次commit对应一个tree,这个tree又记录了整个文档的目录结构,文件的每一次修改又会生成一个blob,blob信息记录在tree下面。

分离头指针(detached HEAD):变更没有基于某个branch去做,当你切换到别的branch时,这边会丢掉。

删除分支 : git branch -d 分支名

更改commit 的信息 git rebase -i commit的哈希值

连续的commit整理成一个commit git rebase -i 父类commit的哈希值
进去之后看提示信息

间隔的几个commit整理成一个

git diff
git diff 比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异
git diff --cached 查看已经暂存起来的文件(staged)和上次提交时的快照之间(HEAD)的差异
git diff HEAD 显示工作版本(Working tree)和HEAD的差别
git diff topic master 直接将两个分支上最新的提交做diff
git diff --stat 查看简单的diff结果,可以加上–stat参数
git diff HEAD^ HEAD 比较上次提交commit和上上次提交
git diff SHA1 SHA2 比较两个历史版本之间的差异

暂存区恢复成HEAD一样 git reset HEAD

工作区恢复成暂存区一样 git checkout --filesname

变更工作区内容 找checkout 暂存区 用reset

取消暂存区部分文件的更改 git reset HEAD – filesname

删除文件 git rm filesname

指定不需要git管理的文件 .gitignore

哑协议和智能协议:
直观区别:哑协议传输进度不可见;智能协议传输可见
传输速度:智能协议快

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值