Git命令

作者: 淑妮 | 来源:发表于2016-11-10 18:24 被阅读0次
git命令
常用git命令

1.git clone <http> //克隆仓库
2.git add -A
3.git commit -s -m “注释”
4.git pull
5.git push
6.git status -s
7.git log —oneline

8.git branch
9.git branch <dev> //创建新分支
10.git checkout <dev> //切换分支
11.git rebase <master> //基于父分支最新节点
12.git merge <dev> //在当前分支 合并指定分支
13.git branch -d <dev>//删除指定分支(必须在父分支上进行)

14.git reset --hard <ccbc996>//回滚到指定节点

15.git stash //保存快照(移除当前未提交并保存)
16git stash pop//使用最上层快照

git初始化
$ cd /path/to/my/workspace
$ mkdir demo
$ cd demo
$ git init (初始化git版本库)

$ echo "Hello." > welcome.txt (新建txt文件,并在里面加“hello”)
$ echo "Bye-Bye." >> welcome.txt (在txt文件后面加上“bye-bye”)
提交,添加
$ git add 文件 (工作区加入到暂缓区)
$ git commit -m "注释" (暂缓区提交到版本库)
日志查询
$ git log
$ git log —stat(附加的--stat参数看到每次提交的文件变更统计)
$ git log --pretty=oneline(只有提交ID和提交注释)
 * ea66f2ba8e76b86b57d932502266c3b672826e4b who does commit?
 * 124307a9e3186a12c41831f27f15112422af68d0 intialized
$ git log --pretty=raw --graph e695606 (可以查询到任意一次提交之前的提交跟踪链)
$ git log --graph --oneline 
 * a0c641e who does commit?
 * 9e8a761 initialized.
状态查询
$ git status -s (显示精简格式的状态输出) 
  M welcome.txt (版本库中的文件和处于中间状态——提交任务(提交暂存区,即stage)中的文件相比有改动。)
M  welcome.txt (工作区当前的文件和处于中间状态——提交任务(提交暂存区,即stage)中的文件相比也有改动。)
MM welcome.txt (不但版本库中最新提交的文件和处于中间状态 —— 提交任务(提交暂存区, stage)中的文件相比有改动,而且工作区当前的文件和处于中间状态 —— 提交任务(提交暂存区, stage)中的文件相比也有改动。)
$ git status -s -b (-s精简输出 -b显示当前工作分支的名称)
## master
版本库和缓存区、工作区的文件差异
$ git diff (工作区和缓存区)
$ git diff HEAD 或者 $ git diff master(工作区和HEAD)
$ git diff --cached 或者是 $ git diff --staged 或者是$ git diff --cached HEAD (缓存区和工作区)
查看HEAD(版本库中当前提交)指向的目录树
$ git ls-tree -l HEAD
100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42      25    welcome.txt
* 使用-l参数,可以显示文件的大小。上面welcome.txt大小为25字节。
* 输出的welcome.txt文件条目从左至右,第一个字段是文件的属性(rw-r–r–),第二个字段说明是Git对象库中的一个blob对象(文件),第三个字段则是该文件在对象库中对应的ID——一个40位的SHA1哈希值格式的ID(这个会在后面介绍),第四个字段是文件大小,第五个字段是文件名。
显示暂存区的目录树
$ git ls-files -s
100644 18832d35117ef2f013c4009f5b2128dfaeff354f 0       a/b/c/hello.txt
100644 51dbfd25a804c30e9d8dc441740452534de8264b 0       welcome.txt
后退修改
 $ git clean -fd (清除当前工作区中没有加入版本库的文件和目录(非跟踪文件和目录))
 $ git checkout . (用暂存区内容刷新工作区)
 $ git stash (用版本库刷新暂存区和工作区)
重置reset
 $ git reset --hard HEAD^ (将master重置到前一次提交)
 $ git reset --hard 9e8a761 (重置到任意一次提交)
挽救错误的重置reflog
 $ git reflog show master | head -5
   124307a master@{0}: reset: moving to 124307a
   343f2f8 master@{1}: reset: moving to HEAD^
   921f323 master@{2}: commit: doed master follow this new commit?
   343f2f8 master@{3}: commit: which version checked in?
   ea66f2b master@{4}: commit: who does commit?

 $ git reset --hard master@{2}
 HEAD is now at 921f323 doed master follow this new commit?
cat
 $ git cat-file -t e695606 (查看ID的类型)
 commit
 $ git cat-file -p 343f2f8 (查看对象的内容)
 tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9
 parent ea66f2ba8e76b86b57d932502266c3b672826e4b
 author Huang Shuni <15889638723@163.com> 1474440963 +0800
 committer Huang Shuni <15889638723@163.com> 1474440963 +0800
 which version checked in?
显示当前分支
 $ git branch
 * master
master/HEAD
 $ git log -1 HEAD
 $ git log -1 master
 $ git log -1 refs/heads/master
 commit 343f2f81a6ce607242f0b9d051576937935d4adf
 Author: Huang Shuni <15889638723@163.com>
 Date:   Wed Sep 21 14:56:03 2016 +0800
 which version checked in?
 
 * 上述三者都是一样的指向,指向最近的一次提交
 
 
 $ git rev-parse master
 $ git rev-parse refs/heads/master
 $ git rev-parse HEAD
 343f2f81a6ce607242f0b9d051576937935d4adf
 
 * 和上面的三个差不多

#######SHA1哈希值
* 40个十六进制的数字组成
* Git的提交通过SHA1哈希值作为提交ID,做到了“全球唯一”。

相关文章

  • Github学习文档-3

    目录 1.Git 的基本的命令git init命令git status命令git add命令git commit命...

  • git实用命令

    git实用命令 1 git init 命令 初始化 git 仓库 repository 2 git add 命令 ...

  • git管理工具

    git分支命令 git提交命令

  • git 多条命令一次执行

    上代码git命令 && git命令

  • git入门

    这里对git init、git add、git commit命令进行一个总结。 $ git init 命令,该命令...

  • GIT 常用命令总结

    GIT 常用命令总结 GIT 初始化命令 命令描述git init初始化本地 git 仓库git config -...

  • Git命令整理

    Git命令 ———————————————— git配置: git基本步骤: git分支管理: 创建分支命令: 切...

  • git 分支

    git 显示所有分支(包含本地和远程)命令: git 删除本地分支命令: git 显示远程分支命令: git 删除...

  • Git命令集合

    Git基础命令 git远程关联 git远程关联移除 git命令简单简介 常用命令集合:git init创建版本库 ...

  • git使用指南

    常用命令 帮助类: git --help:显示git命令帮助信息git help -a:显示所有命令git hel...

网友评论

      本文标题:Git命令

      本文链接:https://www.haomeiwen.com/subject/eayxpttx.html