Git命令速记学习笔记

Git 学起来比较费事费时,主要是开始的概念需要理解,理解了就好办多了,后面就是怎样记忆指令,git的指令比较多,而且同样的指令参数不同往往效果差异很大,我是个懒得记的人,就花点功夫把可能碰到的指令汇总了下,打印后放在手边,以后用时直接按需对照,也是一个好方法。

1. GIT 分为3个区,工作区,缓冲区(index区),软件库区,所有的git都是围绕这3个区段的恢复和移动而形成的
查看帮助的方法有
git help #查看git支持的所有命令
git help add #查看add的帮助
2. 工作区是文件的形式管理,缓冲区也是类似的文件管理,软件库区类似用链表方式形成的链接,链接的地址就是HEAD,可以通过HEAD的调整来读取版本,在各种不同的版本中移动
get status 显示工作区文件状态的含义
?:untracked 未跟踪的状态,在git控制之外所以显示为?号
M:文件已被修改
A:已经添加到暂存区
显示两列符号
第一列显示版本库相对于暂存区文件的状态
第二列显示工作区相对暂存区文件的状态
如果显示为M,通过不同的M位置就可以使用git diff或git diff --cached来显示不同了
 
3. 在使用git时需要以以下步骤来完成
(1)创建一个子目录例如GITDemo
(2)在Git Bash中切换到该目录
(3) 执行 git init #创建以 .git 为目录名称的软件仓库
4. 里程碑标签的用法
git tag 可以对某次commit 实现里程碑标签
git tag #查看所有tag
git tag -l ‘v0.1.*’ # 搜索符合模式的标签
git tag v0.1.2-light #创建新标签
git tag -a v0.1.2 -m “0.1.2版本” # 创建附注标签
git checkout [tagname] #切换标签
git tag -d v0.1.2 # 删除标签
git tag -a v0.1.1 [HEADID]#给指定commit 的HEAD打标签
  • 标签发布
通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
$ git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
$ git push origin –tags # 将本地所有标签一次性提交到git服务器
 
5. 工作区,缓冲区,软件库区的指令操作方式如下
6. 分支操作如下
  • 产生一个新分支:git branch branchName
  • 切换到新分支:git checkout branchName
然后,上面两个命令也可以合成为一个命令:
git checkout -b branchName
  • 删除一个分支
git branch -d brachname
  • 查看分支
查看本地和远程分支  -a,前面带*号的代表你当前工作目录所处的分支
git branch -a
 
分支的合并merge与变更rebase
合并是可以在合并结果上看到两个父节点,rebase则是更改了节点的位置,只能看到一个
 
 
7. 克隆软件仓库
  • 远程仓库创建
git clone <repository> <directory>
#克隆软件仓库到指定目录,不但复制软件仓库,而且工作区也会克隆
 
git clone --bare <repository> <directory.git>
#裸克隆软件仓库到指定目录,只复制软件仓库的提交内容,而且工作区不会复制
 
git clone --mirror <repository> <directory.git>
#裸克隆软件仓库到指定目录,只复制软件仓库的提交内容,而且工作区不会复制,复制后同时注册了上游的软件仓库,然后可以用git fetch来同步<repository>的内容
 
git init --bare <dirctory.git>
裸创建一个空的软件仓库
 
  • 远程仓库的使用
git push #从主本地中推送数据到远程库
git pull #从主本地中拉取远程库里的数据
git pull <dirctory.git> master:master#将本地数据向远程库里的master分支推送
 
8. git软件仓库管理
git gc#对所有应用打包,丢弃reflog 90天的记录,对所有松散对象打包,清除未关联对象,完成清理,压缩内容
git gc --prune=now
#立刻清除所有未关联对象,对push操作,pull操作, merge会自动触发git gc --auto,可以设置gc.auto的值来设置触发版本库整理全部松散对象的阈值。
 
git fsck #查看清理结果,看看软件库里是否有悬空未关联的对象
 
9. 远程仓库协同管理
  • 查看远程库内容
git ls-remote <分支名>#显示远程仓库的HEADID list
git rev-list HEAD #显示本地最新提交和历史提交
 
  • 使用提交
先使用git pull命令
git pull #git pull 实际执行两个动作,获取远程版本库的最新提交,以及将获取的版本库提交和本地的提交合并,合并后,就可以用git log --graph --oneline来按图表 查看
执行完毕,使用 git push重新上传
git push -f #强制推送,如果不愿处理远程和本地的冲突,就强制推送,但问题可能会更复杂,不推荐使用,在特定的场合下用;
对非快进提交可以做一下操作来禁止,配置变量receive.denyNoFastForwards设为true
 
 
 

转载于:https://www.cnblogs.com/sincostag/p/6379904.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值