本文版权归cxun所有,如有转载请注明出处与本文链接,谢谢!
原文地址:http://www.cnblogs.com/cxun/p/5630190.html

git的功能很强大,但是其实很简单,用来用去都是这几个,这里总结一下,也方便自己日后查询。写得比较粗,没有一些大牛写得那么详细完整,但是作为入门的话,这几个命令应该够用了。

git官方下载地址:https://git-scm.com/

Windows中用的是git bash,按win键,输入git,会自动找出来的。如果安装的不是portable版本的话,在任意一个文件中按右键,点git bash也可以调出命令行界面。

以下的命令使用前提是git服务器已搭建好的情况,有关git服务器有很多,windows平台下我推荐gitblit,linux平台我推荐gitlab,有关服务器的搭建等有空的时候再总结,有需要的朋友可以先从这些服务器软件的官网里找。

下面2-3是下载代码用的,4-6是上传代码用的,当然上传代码也可以用图形界面方式来完成,git bash中输入“git gui”就可以调出来。

1. git status

查看现在代码库的状态,会将当前的代码与GIT代码库比较,如果有差别,要解决冲突才行。解决冲突的情况比较复杂,这里就暂时不讨论。假设现在想放弃当前的代码版本,希望将服务器上的版本完全覆盖到本地来的话,直接用下面这个命令“git checkout -f”。但前提是 git status 后不能有 Untracked files 的提示(表示有新的文件未被添加给GIT跟踪),直接用rm命令,比如提示信息是这样:

Untracked files:
(use "git add <file>..." to include in what will be committed) ProjectName/ModuleName/Form1.cs.bak
ProjectName/ModuleName/new.txt

分别复制这两行,执行:

rm ProjectName/ModuleName/Form1.cs.bak
rm ProjectName/ModuleName/new.txt

然后再执行一下 git status,没有 Untracked 提示的话,就可以执行 git checkout -f 了。

2. git checkout -f

这是重置当前代码,恢复到上一次提交或获取版本的那个状态,这状态是没有冲突的,就可以git pull了。

如果想查看以前版本的内容,可以通过gitk查询以前版本的hash值,可以取前8位,如“bad20cb3”,然后执行“git checkout bad20cb3”,此时代码版本已经变成以前的版本了,可以通过在资源管理器中查看各个文件的内容。

如果想回到最新版本,直接执行这个命令即可:“git checkout master”

3. git pull

从服务器获取所有历史版本的代码库,并把本地代码替换成最新版本的代码。
(没有经过设置的话需要执行:git pull origin master)

4. git add --all

把 git status 提示的 Untracked files 中的所有文件添加给GIT代码库跟踪。

5. git commit -a

把当前代码提交到本地代码库,执行后会出现一个版本说明的文本编辑界面(Linux超强大的文本编辑工具“VI”),按“i”,进入文本编辑状态,此时光标只能用键盘的上下左右移动,不支持鼠标。版本说明的规则是,第一行是提交版本的标题,然后回车空一行,在第3行开始,就是详细的版本说明了。
编辑完成后,按"ESC"返回到VI的命令模式,输入“:wq”,将保存所输入的版本说明,并退出VI。然后GIT就会将当前代码提交到本地代码库了。此时服务器上还没当前的代码版本,需要用git push来提交到服务器。

6. git push

只有commit过的代码库才能提交到服务器,输入git push回车后,没有出现报错信息的话就完成了代码上传服务器的工作了。
(没有经过设置的话需要执行:git push origin master)

7. gitk

用图形界面方式查看各个版本的信息,包括:提交时间、提交人、代码差别、版本摘要值等等。

git 常用命令粗略总结的更多相关文章

  1. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  2. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  3. Git 常用命令大全

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...

  4. Git常用命令总结

    Git常用命令总结 git init      在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.   git clone ...

  5. GIT常用命令备忘

    Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...

  6. Git 常用命令2

    Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...

  7. git常用命令-基本操作

    git常用命令-基本操作 1)      新增文件 新增了Test_1.java git add Test_1.java git commit –m “新增了Test_1.java” git push ...

  8. 转收藏:Git常用命令速查表

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  9. git常用命令,git版本控制和Xcode结合使用,用Xcode提交到github,github客户端使用

    1.git常用命令 查看命令: 1.git --help 查看git所有命令 2.git clone -help 查看git clone命令的细节 3.git config -l   查看当前所有配置 ...

随机推荐

  1. UI--UIPickerView和UIDatePicker的总结

    回到顶部 UIPickerView的主要方法和城市选择器的修正 UIPickerView只有两个数据源方法.要想完整地显示出PickerView,需要结合使用代理方法 数据源方法: // 一共有多少组 ...

  2. JS字符串与汉字的字节获取

    JS英文为一个字节,中文GBK为3个字节,UTF-8为2个字节. 1.通过for循环 function getStrLeng(str){ var realLength = 0; var len = s ...

  3. PHP连接数据库的方法

    mysql可通过两种方式通过PHP和web相连,一种通过php的mysql相关函数,另一种通过php的ODBC相关函数. 相关函数如下: MYSQL函数 mysql_affected_rows: 得到 ...

  4. Intellij如何设置编译后自动重新加载class文件?

    前段时间突然发现Intellij不能自动重新加载类了,每次编译后都要重新启动项目,才能显示更新效果,后来网上查询Intellij下如何配置热部署,都说是要配置构件,然后在web容器的编辑页面选择upd ...

  5. Java 中多条件排序

    Collections.sort(ghEntityList, new Comparator<GongHuiEntity>() { @Override public int compare( ...

  6. MySQL时间戳相互转换

    mysql将时间戳转成常用时间格式 在mysql中,一个时间字段的存储类型是int(11),怎么转化成字符类型,比方存储为13270655222,需要转化为yyyy -mm-dd的形式. 使用 FRO ...

  7. JQuery 实现锚点链接之间的平滑滚动

    24. 解决链接锚点的生硬问题 $('.nav .btn[href*=#],.icon2,.icon3').click(function() { if (location.pathname.repla ...

  8. [kuangbin带你飞]专题十 匹配问题 二分匹配部分

    刚回到家 开了二分匹配专题 手握xyl模板 奋力写写写 终于写完了一群模板题 A hdu1045 对这个图进行 行列的重写 给每个位置赋予新的行列 使不能相互打到的位置 拥有不同的行与列 然后左行右列 ...

  9. Nodejs:Glob对象

    模块Glob: glob主要用处为筛选文件 API样例: var globInstance = new glob.Glob("@(a|a1|b).js",{nonull:true, ...

  10. 非常适用的Sourceinsight插件,提高效率事半功倍

    一直使用sourceinsight编辑C/C++代码,sourceinsight是一个非常好用的编辑工具可以任意定位,跳转,回退,本人一直 使用该工具做C/C++开发,sourceinsight能够满 ...