git init        --    初始化仓库,

git clone    --    从远端克隆仓库到本地

git status   --    查看git仓库的状态

git log        --    查看git仓库的日志

git add       --   将修改提交到本地仓库,git add filename就是提交filename这个文件,git add .就是提交所以变化的文件

git diff        --    不带参数的话就是显示当前工作区的修改变化。

git diff [branchA] [branchB]可以用来比较两个分支。

git commit  -- 提交被add进来的改动

git commit -m “the commit message"

                      git commit -a 会先把所有已经track的文件的改动add进来,然后提交(有点像svn的一次提交,不用先暂存). 对于没有track的文件,还是需要git add一下.
                      git commit --amend 增补提交. 会使用与当前提交节点相同的父节点进行一次新的提交,旧的提交将会被取消.
 
git reset    --  可以理解成删除本地仓库上的一次提交,相当于还原到上次提交的状态
git revert   --   反转撤销提交.只要把出错的提交(commit)的名字(reference)作为参数传给命令就可以了.
                      git revert HEAD: 撤销最近的一个提交.

                      git revert会创建一个反向的新提交,可以通过参数-n来告诉Git先不要提交.

这个我要好好理解下,因为用的不多,也只是在smartgit上用过几次。

git branch  --  创建分支

git checkout -- 切换到某个文件,如果是git checkout filename的话就是丢弃filename这个文件的所有修改。

git merge     -- 把一个分支merge到当前分支

如果出现冲突,需要手动修改,可以用git mergetool.

                       解决冲突的时候可以用到git diff,解决完之后用git add添加,即表示冲突已经被resolved.
git tag         -- 打tag,用git tag v1.0
git fetch      -- 
git pull        -- 
git  push     --
git rebase   --
 
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Submodule的操作方式,这才是我想写这边随笔的真正目的。
我是用github测试的:
1.现在git hub上创建两个git仓库:例如Test_Submodule_SubTest_Submodule两个常规仓库。
2.将Test_Submodule这个仓库clone到本地,然后cd到根目录下。
3.这一步才是重要的一步: git submodule add https://github.com/Kent-Hu/Test_Submodule_Sub.git Sub/Test_Submodule_Sub,就是将一个仓库以submodule的形式添加到另一个仓库,这个时候就会将Test_Submodule_Sub.git克隆到Test_Submodule的/sub目录下。
4.git add .    将新添加的所有文件加到worktree。
5.git push    将文件添加到远端。
使用:
git clone https://github.com/Kent-Hu/Test_Submodule.git的话是没法克隆submodule下的源码的,需要加--recursive选项。
$ git clone --recurse-submodules https://github.com/Kent-Hu/Test_Submodule.git
Cloning into 'Test_Submodule'...
remote: Counting objects: 8, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0
Unpacking objects: 100% (8/8), done.
Submodule 'Sub/Test_Submodule_Sub' (https://github.com/Kent-Hu/Test_Submodule_Sub.git) registered for path 'Sub/Test_Submodule_Sub'
Cloning into 'C:/Users/h144197/Desktop/Test_Submodule/Sub/Test_Submodule_Sub'...
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 4 (delta 0), pack-reused 0
Submodule path 'Sub/Test_Submodule_Sub': checked out 'ceebbcc51a03cb1c17eee8adb5c22cf172eb0615'

  

Git 几个常用操作的更多相关文章

  1. git学习 本地常用操作01

    注意: Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动 不要使用Windows自带的记事本编辑任何文本文件 开始git项目: 初始化本地项目: 初始化:g ...

  2. Git安装与常用操作

    Git作为一个版本控制工具,使用前需进行下载安装:可自行到官网下载. 一.安装(windows) 1.双击下载好的文件进行安装,弹窗中点击"next" 2.默认勾选,继续点击&qu ...

  3. Git介绍及常用操作演示(一)--技术流ken

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  4. CI 知识 :Git介绍及常用操作

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  5. git工作中常用操作总结

    这篇文章主要记录下工作中常用的git操作.主要是对之前文章记录的问题做个总结,这个其实在idea中操作更加简单 别名配置 在敲git 命令时,其实可以使用别名,比如 commit可以配置为ci 下面是 ...

  6. Git与GitHub常用操作

    --------------------------基本操作--------------------------clone 拷贝远程仓库commit 本地提交push 远程提交pull 更新本地--- ...

  7. git入门(4)团队中git保管代码常用操作

    在团队中协作代码时候,一定要熟练使用以下git命令,不至于把代码库弄乱, PS:一定要提交自己代码(git push)时候,先进行更新本地代码库(git pull),不然提交异常 git常用命令 1· ...

  8. git基础之常用操作

    一.版本提交: (1)git add 文件名 (2)git commit -m "版本提交信息" 注:git分两个区:工作区+版本库 在电脑中看到的文件夹就是工作区 有一个隐藏的. ...

  9. git最基础常用操作

    单人开发托管够用 未列出的用到一个补一个

  10. git命令行常用操作总结

    关于 更多使用细节(grammar和book),请参考 官网 1.上传代码 1.1 创建自己的远程Repository, github或者gitee 1.2 创建本地git仓库 $ git init ...

随机推荐

  1. java的http请求实例

    package vqmp.data.pull.vqmpull.common.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory ...

  2. springboot 热部署

    1 pom文件添加 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  3. 如何用ESP8266实现网页配置(web)

    准备工作 准备一个深圳四博智联科技有限公司的ESP-F 模组.或者四博智联科技的NODEMCU 当我们拿到ESP-F模块后,可以按照以下接线进行测试: 即 VCC.EN 接 3.3v.GPIO15 G ...

  4. C++ MySQL编程

    MySQL编程需要包含<mysql.h>头文件.该文件一般在MySQL安装目录下的include文件夹下. 包含头文件还不够,还需要包含“libmysql.lib”库,一般在lib文件夹下 ...

  5. python flask 如何修改默认端口号

    场景:按照github文档上启动一个flask的app,默认是用5000端口,如果5000端口被占用,启动失败. 样例代码: from flask import Flask app = Flask(_ ...

  6. 微信小程序 拖动图片一边进行截取

    简单实现一个画布截取图片的功能 原始图片超出指定尺寸,会进行隐藏,利用短边的宽度截取长边的宽度,拖动生成指定内容的图片 横图 竖图 var box_width = 600; //截取框尺寸 var b ...

  7. shell编程规范

    1 脚本名以.sh结尾,名称尽量见名之意,比如ClearLog.sh Clear_Log.sh clearlog.sh SerRestart.sh Ser_Restart.sh;2 尽量使用UTF-8 ...

  8. 模拟ios应用加载页面

    1:设置应用程序系统主界面加载接口为空:Main interface=null; 2: 在AppDelegate实现didFinishLaunchingWithOptions方法 - (BOOL)ap ...

  9. Goland配置

    Global GOPATH 用来设置所有go项目的大目录 Project GOPATH 用来设置单项目目录 2个目录必须配置

  10. keras 入门整理 如何shuffle,如何使用fit_generator 整理合集

    keras入门参考网址: 中文文档教你快速建立model keras不同的模块-基本结构的简介-类似xmind整理 Keras的基本使用(1)--创建,编译,训练模型 Keras学习笔记(完结) ke ...