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  否则使用此推送命令

原文地址:https://www.cnblogs.com/javammc/p/8687847.html