zoukankan      html  css  js  c++  java
  • git 常用命令粗略总结

    本文版权归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

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

  • 相关阅读:
    【转】c语言中的#号和##号的作用
    stm32 HAL库编程驱动控制文件<stm32f1xx_hal_conf.h>的使能方法
    rt-thread是如何做到通过menuconfig配置将相应文件加入工程和从工程中除去
    rt-thread 学习路线
    stm32使用rt-thread在文件《stm32f1xx_hal.h》中头文件包含顺序引出的错误
    rt-thread之stm32系列BSP制作方法
    使用rt-thread中BSP-stm32 ENV构建工具报错
    rt-thread中动态内存分配之小内存管理模块方法的一点理解
    内存对齐
    rt-thread中线程内置定时器的作用 ---
  • 原文地址:https://www.cnblogs.com/cxun/p/5630190.html
Copyright © 2011-2022 走看看