http://blog.sina.com.cn/s/blog_4ce89f2001014qvr.html

1.git clone                                      从远程的Git版本库克隆代码,也可以理解成检出代码,可以在末尾指定新的名字

        eg.
git  clone  git://github.com/someone/some_project.git   some_project

2.git remote -v                               查看远程仓库

3.git remote rm [name]                  删除远程仓库

4.git remote set-url --push [name] [newUrl] 修改远程仓库

5.git pull [remoteName] [localBranchName]   拉取远程仓库

        eg.
git pull origin master

6.git push [remoteName] [localBranchName]   推送远程仓库

        eg.
git push origin master

7.git add

        git
add test.txt                #注意,要gitignore一些特殊文件,然后每一>次提交前git
status,确认提交的每一个文件

        git
add - A

        git
add *.c                     #用通配符的方式跟踪文件

8.git commit -m "msg"

9.git config

        git
config --global user.name "myname"          #设置用户名

        git
config --global user.email "myemail"        #设置邮箱

        git
config --global core.editor "myeditor"      #设置编辑器

        git
config --list                                              #查看config

10.git status                           #查看git状态

        eg.#
On branch master

        nothing
to commit (working directory clean)    #可以看到当前branch

11.git commit -m 'initial commit'       #修改最后一次提交,重新提交

   git
add forgotten_file

   git
commit --amend                 

12.git checkout -b 分支名字             #添加分支

        eg.git
checkout -b branch1   添加branch1分支

   git
checkout 分支名称                #好像是进入分支

   git
commit -m "注释"                 #提交到分支

        eg.git
checkout branch1

           git
commit -m "branch1 init" #应该是提交到了branch1,等下验证

13.git checkout master                  #返回主分支

   git
merge 子分支名称                 #合并子分支到主分支

        eg.git
merge branch1

   git
branch -d 子分支名称             #删除子分支

        eg.git
branch -d branch1

   git
branch                           #查看分支

14.在使用git push 代码到数据仓库时,提示如下错误:



        [remote
rejected] master -> master (branch is currently checked out)



        这是由于git默认拒绝了push操作,需要进行设置,修改.git/config文件后面添加

如下代码:



        [receive]



      denyCurrentBranch
= ignore

15.git checkout – 文件名                #放弃单个文件的修改

16.忽略某些文件:  vim
.gitignore

        #
此为注释 – 将被 Git 忽略

        *.a       #
忽略所有 .a 结尾的文件

        !lib.a    #
但 lib.a 除外

        /TODO     #
仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO

        build/    #
忽略 build/ 目录下的所有文件

        doc/*.txt
# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

17.查看尚未暂存的文件更新了哪些部分,不加参数直接输入 git diff

        eg.git
diff     #此命令比较的是工作目录中当前文件和暂存区域快照之间的差>异,也就是修改之后还没有暂存起来的变化内容

18.要看已经暂存起来的文件和上次提交时的快照之间的差异,可以用 git diff --cached 命令

19.设置git使用vimdiff比较差异

        git
config --global diff.tool vimdiff

        git
config --global difftool.prompt No

20.git commit -a -m 'added new benchmarks'      #跳过使用暂存区域,直接提交

21.移除文件:要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,

是从暂存区域移除),然后提交。

        eg.git
rm grit.gemspec

           git
rm --cached .project     #移除已提交的文件

22.git mv README.txt README     移动文件

        相当于:
mv README.txt README

                git
rm README.txt

                git
add README

23.查看提交历史

        eg.git
log                      #默认不用任何参数的话,git
log 会按提交>时间列出所有的更新,最近的更新排在最上面。

        git
log -p -2                   #我们常用
-p 选项展开显示每次提交的内容>差异,用 -2 则仅显示最近的两次更新

        git
log --stat  -1              #git
log统计,非常好用

24.vimdiff的使用: git difftool

25.修补提交(修补最近一次的提交而不创建新的提交)

        eg.git
commit --amend -m "commit message."

26.提交冲突时可以合并后再推送

        git
pull # 获取远程版本库提交与本地提交进行合并

        git
push # 提交

27.git fetch 与 git pull 都是从 remote 端取信息,在不接参数时,git fetch 与 git pull 有如下不同.

        1.
git fetch 可以在一个 bare类型的repository内执行,而git pull 不可以

        2.
git fetch 只从远程端取repository信息,如新的branch,tag,及新的代码变化>,也就是更新.git或bare型repository中的内容

        但
git fetch 不会 checkout出任何代码

        git
pull 不仅会执行git fetch的操作,git pull 还做了merge的操作。\

28.git revert

        git
revert HEAD                 #撤销前一次
commit

        git
revert HEAD^                #撤销前前一次
commit

        git
revert <hash>               撤消指定的版本如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff

29.检出分支

        git
checkout -b william_template origin/william_template

        git
pull

30.取消没有跟踪前的修改

        git
checkout anilist.php

git实用命令的更多相关文章

  1. git 实用命令

    git 覆盖本地修改 ,git 放弃本地修改,强制更新 git fetch --all git reset --hard origin/master git fetch 只是下载远程的库的内容,不做任 ...

  2. Git 实用命令记录

    自从上次写了一篇 Git 入门 的相关博客以来,一直自以为自己能完全的掌握 Git,其实不然,今天一小伙问我,如何删除远程上面的一个分支,呃,不会. git branch -d 分支名 只能删除本地的 ...

  3. Git实用命令手册

    下载代码 git clone <git地址> 用户配置 git config —-global user.name <name> git config —-global use ...

  4. Git实用记录

    一.git命令名词解释 1.添加/跟踪/暂存:添加到本地索引 git add 文件名 2.提交:提交到本地仓库 git commit -m '注释' 3.推送:将提交到本地仓库的所有更新提交到服务器 ...

  5. Git知识总览(二) git常用命令概览

    上篇博客我们从 git clone 和 git status 两个命令开始,引出了一系列的git操作命令, 请参见:<Git知识总览(一) 从 git clone 和 git status 谈起 ...

  6. git常用命令(转载自用)

    转载自 阮一峰博客: http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 一个码农博客: http://blog.gitor.org ...

  7. 你需要知道的12个Git高级命令【转】

    转自:http://www.linuxidc.com/Linux/2016-01/128024.htm 众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git, ...

  8. Windows Git Bash命令行下创建git仓库并更新到github

    大二的时候就听过老师说有一个叫git的版本管理工具,当时只是听老师说说而已,也没有去使用它,因为当时用过svn,就感觉自己没多少东西需要git管理. 最近几天,我经常在开源中国看别人的帖子,看到别人对 ...

  9. 公司Git实用记录

    一.git命令名词解释 1.添加/跟踪/暂存:添加到本地索引 git add 文件名 2.提交:提交到本地仓库 git commit -m '注释' 3.推送:将提交到本地仓库的所有更新提交到服务器 ...

随机推荐

  1. OpenCV——PS 滤镜, 浮雕效果

    具体的算法原理可以参考: PS 滤镜, 浮雕效果 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITH ...

  2. TCP的核心系列 — SACK和DSACK的实现(七)

    我们发送重传包时,重传包也可能丢失,如果没有检查重传包是否丢失的机制,那么只能依靠超时来恢复了. 37版本把检查重传包是否丢失的部分独立出来,这就是tcp_mark_lost_retrans(). 在 ...

  3. c语言部分库函数,代码实现,以及细节理解

    代码来自: http://blog.csdn.net/v_JULY_v //得9 分 //为了实现链式操作,将目的地址返回,加2 分! char * strcpy( char *strDest, co ...

  4. 从Windows角度看Mac OS X上的软件开发

    如果原来从事Windows软件开发,想跨足或转换至Mac OS X环境,需要知道那些东西?有什么知识技能可以快速运用在Mac OS X环境上的?这两个问题应该是Windows开发者进入Mac OS X ...

  5. Jedis对Redis的常用命令操作

    本篇主要总结一些Jedis对Redis的常用命令操作: 1.对key操作命令 2.对String操作命令 3.对List操作命令 4.对Set操作命令 5.对Hash操作命令 6.排序操作指令 一.项 ...

  6. async & await 异步编程的一点巧方法

    await 关键字不会创建新的线程,而是由Task任务或是FCL中的xxxAsync等方法创建的线程,而且这里创建的线程都是基于线程池创建的工作线程,属于后台线程. await关键字会阻塞/暂停调用它 ...

  7. Linux笔记2

    touch 创建文件. echo  输出   >> 将输出写入到文件中   echo sss >> a.txt cat   查看文件内容 帮助命令   man  命令 man ...

  8. OSGI介绍

    OSGI介绍 OSGI简介 OSGI (Open Service Gateway Initiative)联盟成立于1999 年,它是一个非盈利的国际组织,旨在建立一个开放的服务规范,为通过网络向设备提 ...

  9. C++string函数之strcat_s

    跟上一篇的strcpy_s一样,是新推出的较为安全的strcat函数 strcat_s脱胎于strcat,用于两个字符串的链接,strcat(str1,str2)直接返回新的str1. 但在vs200 ...

  10. YUV420格式解析

    一般的的YUV420图像格式实际上是Y'UV,420指的是其在Y U V上面的采样率.在YUV420的格式中,首先存储每一个像素的Y'值,然后跟着存储的是每2*2方阵采样一次的U值,最后存储的是每2* ...