zoukankan      html  css  js  c++  java
  • git命令合集及github的克隆推送

    1. 安装git
    2. 初始化仓库
    3. 提交相关
    4. 撤销相关
    5. 远程推送
    6. 分支相关
    7. 其他
    8. 遇到的错误
    9. github的克隆上传

    此文章只是对命令的一个统计,起备忘和复习git只是的作用,不建议从没接触过git的同学通过它来学习git。

    git中的术语解释:

    1. repository:仓库也叫版本库
    2. stage:暂存区,add后会存到暂存区,commit后提交到版本库

    linux下安装git

       第一种方法:yum install git-core  安装的版本比较老

       第二种方法:(我是linux centos)

         卸载老版本

        yum remove git 

        安装依赖

          yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc

          yum instalgcc perl-ExtUtils-MakeMaker 

        执行安装

         wget https://github.com/git/git/archive/v2.2.1.tar.gz tar -zxvf v2.2.1

         cd git-2.2.1

         make configure ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv

         make

         make install

         echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc

         source /etc/bashrc

          

     初始化一个仓库 

      先新建一个文件夹  mkdir  test        

      进入该文件夹执行git init命令,就能初始化仓库了

    提交相关

       添加文件到仓库

          git add <file>

       提交代码

        git commit  -m "说明"

       记录提交历史

         git log

      记录着操作命令,也就是命令历史

         git reflog

      把工作区的内容添加到暂存区

         git add <文件>

     把暂存区的内容提交到当前分支

        git commit -m "提交说明"

      将现有工作区的隐藏起来

         git  stash

     恢复隐藏的工作区

        git stash pop

      查看隐藏的工作区的内容

          git stash list

     指定恢复哪一个隐藏的工作区内容

         git stash apply stash@{0}

     提交时忽略指定文件

         在当前仓库目录下新建.gitignore文件,在其中写要忽略的文件名即可

     

     

    撤销相关

    将工作区的修改撤销掉

          git checkout -- a.txt   (注意:--很重要,如果没有--,这个命令就变成了切换分支)

    这个撤销会有两种效果

      第一种是修改后没有放到暂存区,那么撤销后会回到和版本库一样的状态

      第二种是修改后放入了暂存区,又做了修改,那么撤销后会回到和暂存区一样的状态。

      总之,就是让这个文件回到最近一次git commit或git add时的状态。

    将暂存区的修改撤销掉

      git  reset HEAD  file

    代码回退   (提交一次就有一个版本,HEAD表示当前版本,HEAD^表示上一个版本,HEAD~10表示前第100个版本)

      git reset --hard HEAD^      //回退到上一个版本

    代码回退之后还可以前进,只要知道前一个版本的版本号

      git reset --hard 3628164     //版本号不用写全,前几位即可

    如果删除了文件

      想让版本库里的文件也删掉

      第一步:git rm -- a.txt

      第二步:git commit -m ""

    想让工作区删除的文件恢复

      git checkout -- a.txt

     

     远程库推送相关

    关联远程库

      git remote add origin git@github.com:mmcLine/firstGit.git

    第一次推送信息

      git push -u origin master

    不是第一次推送信息

      git push origin master

    查看远程库的信息

      git  remote

      git remote -v   更详细的信息

    推送远程仓库有冲突的处理

      git push origin dev  发现失败,有冲突

      git pull 把最新的提交抓下来(git  pull如果失败运行   git branch --set-upstream dev origin/dev   再git  pull)

      在合并,如果有冲突就手动解决后在提交

    分支相关

    创建分支

      git branch <name>

    创建并切换分支

      git checkout -b dev

    查看当前分支

      git  branch

    把dev分支合并到master上

      git merge dev

    删除分支

      git branch -d dev

    有冲突的时候先手动解决冲突在提交

    查看提交的分支表

      git log --graph

      禁用Fast forward的合并,禁用后每次都会有新的提交

      git merge --no-ff -m "merge with no-ff" dev

    强行删除分支

      git branch -D <name>

    其他:

    设置git操作命令的别名

      git config --global alias.st status    //将git status 设置别名为git st

    要删除别名的设置

      配置文件在.git里面的config里面,或者对应用户的家目录里的.gitconfig删除别名就在文件里删除别名就好了

     

    二,遇到的错误

    1. 添加远程配置时出现fatal: 远程 origin 已经存在。提示

            处理方法:git remote rm origin

    1. 从github克隆时报这个错误while accessing https://github.com/mmcLine/gitskills.git/info/refs

          git的版本太低了,我之前是yum安装了,我卸载了用源码安装就好了

    三,github相关操作

    1. 从github下载代码

      git clone git://github.com/mmcLine/firstGit.git

      备注:也可使用git clone https://github.com/mmcLine/firstGit.git的格式

    mmcLine和firstGit分别对应图中的这两个参数,修改成自己的就行了

       

    2,推送代码到github

      修改了代码之后:

      git add test.txt

      git commit -m "test"

      git push -u origin master   若是第一次推送使用此命令

      git push origin master  否则使用此推送命令

  • 相关阅读:
    2019年面试题1
    面试题
    vsftp多个用户公享同一个文件,但是权限不同
    centos7搭建ftp
    安装v2ra y
    centos7安装lamp
    日升昌面试题
    一些插件
    面试被怼集(字节跳动篇)
    TOMCAT原理详解及请求过程(转载)
  • 原文地址:https://www.cnblogs.com/javammc/p/8687847.html
Copyright © 2011-2022 走看看