Git命令详解

Git常用命令汇总以及其它相关操作

一、常用的git命令

 ---设置Git的user name和email,查看公钥,生成公钥。
  	git config  –-global user.name “xxx
  	git config  –-global user.email xxx@xxx.com
  	cd  ~/.ssh
  	ssh-keygen –t rsa –C xxx@xxx.com

 --git 放弃本地修改,强制拉取远程分支覆盖本地分支

	 git fetch --all    //只是下载代码到本地,不进行合并操作

	 git reset --hard origin/分支名如master    //把HEAD指向最新下载的版本

	 git pull //可以省略
 
 --git初始化操作

    git init                   把当前的目录变成git仓库,生成隐藏.git文件。
    git remote add origin url  把本地仓库的内容推送到GitHub仓库。
    git clone git@url/test.git 从远程库克隆
    git add *                  把x文件添加到暂存区去。
    git commit –m "*"          提交文件 –m 后面的是注释。   
    
 --git 克隆分支

    git clone xx地址xx               最简单直接的命令
    git clone xxx.git "指定目录"      clone到指定目录
    git clone -b branchname xxx.git  clone时创建新的分支替代默认Origin HEAD(master)
    
        ---clone 远程分支

       git clone 命令默认的只会建立master分支,如果你想clone指定的某一远程分支(如:dev)的话,可以如下:

         1. 查看所有分支(包括隐藏的)  git branch -a 显示所有分支    

           * master
           remotes/origin/HEAD -> origin/master
           remotes/origin/dev
           remotes/origin/master
                2. 在本地新建同名的("dev")分支,并切换到该分支

           git checkout -t origin/dev 
 
           #该命令等同于:
           git checkout -b dev origin/dev
           
	 --查看命令

   git status        查看仓库状态
   git diff  *       查看X文件修改了那些内容   
   git log           查看历史记录
   git reflog        查看历史记录的版本号id(记录你的每一次命令,不论是否提交)
   git log --pretty=oneline 如果信息量太多可以进行比较好的列表显示
      
     --版本回退

   git reset –hard HEAD^       回退到上一个版本
   git reset --hard HEAD~第几个 如果想回退到第3个版本,使用git reset –hard HEAD~3
   git reset --hard 057d       回退到某一个具体的版本号
   
     --撤销修改

   git checkout file-name 恢复某个已修改的文件(撤销未提交的修改):
   git revert HEAD        还原最近一次提交的修改:
   git revert commit-id   还原指定版本的修改
   
     --分支管理

   git branch                           查看本地所有的分支
   git branch -a                        查看远程所有的分支
   git branch name                      创建分支
   git branch –d dev                    删除dev分支
   git push origin --delete dev         删除远程的dev分支
   git branch -m dev develop            重命名分支
   git checkout –b dev                  创建dev分支 并切换到dev分支上
   git merge dev                        在当前分支上合并dev分支代
   git push origin zyf-dev              把当前新增的zyf-dev分支推送到远程库(远程仓库没有给分支则会新建立该分支)
   git checkout — *XX文件在工作区的修改全部撤销。
   git checkout master                  切换回master分支
   git push --set-upstream origin dev   提交修改并创建远程分支dev

    --tag相关操作

   git tag                            列出所有的tag
   git tag name                       打轻量标签 name
   git tag -d name                    删除本地的tag
   git push origin --delete tag name  删除远程的tag
   git show name                      查看tag信息
   git push origin name               将tag提交到远程
   
    --隐藏的文件

   git stash                          把当前的工作隐藏起来 等以后恢复现场后继续工作
   git stash list                     查看所有被隐藏的文件列表
   git stash apply                    恢复被隐藏的文件,但是内容不删除
   git stash drop                     删除文件
   git stash pop                      恢复文件的同时 也删除文件
   
    --查看远程库信息(git  remote的用法) 

   git remote                         查看远程库的信息
   git remote –v                      查看远程库的详细信息
   git remote add  name url           添加远程仓库
   git remote rename oldname newname  重命名仓库
   git remote rm                      删除仓库
   
  --创建并切换分支,拉取远程分支
   #方法一
   在本地创建分支dv(随便起名)并切换到该分支
   命令:git checkout -b dv origin/develop

   #方法二
   git fetch origin  远程分支名x:本地分支名x
  
 
   --git pull操作

   #git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并,基本的格式如下:
   $ git pull <远程主机名> <远程分支名>:<本地分支名>

   #取回origin主机的next分支,与本地的master分支合并,需要写成下面这样
   $ git pull origin next:master

   #如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
   $ git pull origin next

   #上面命令表示,取回origin/next分支,再与当前分支合并。实质上,这等同于先做git fetch,再做git merge。
   $ git fetch origin
   $ git merge origin/next

   #在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。
   #比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动”追踪”origin/master分支。
   #Git也允许手动建立追踪关系。
   $ git branch --set-upstream master origin/next

   #上面命令指定master分支追踪origin/next分支。如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。
   $ git pull origin

    --git 设置大小写敏感

        Windows上的Git默认是大小写不敏感的,这样多平台写作就可能会出现问题。Win上的Git设置为大小写敏感的命令如下

    git config core.ignorecase false  
    
    --git 设置忽略文件或文件夹权限修改

    git config core.filemode false
    
    --创建追踪分支

        不带任何参数的git push,默认只推送当前分支,这叫做simple方式。

        此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。如果要修改这个设置,可以采用git config命令。

   $ git config --global push.default matching
   # 或者
   $ git config --global push.default simple (最好使用这种方式)
   $ git branch --track  master origin/master //在使用 git branch 命令时加上 '--track' 参数, 来手动创建一个追踪分支
   
    --切换git 命令提示中文到英文 

   // ubuntu装的git不知道怎么就出现全中文的提示,不太好,果断切换到中文了,切换方法如下:
   // 1:写入
   echo "alias git='LANG=en_GB git'" >> ~/.bashrc

   // 2:生效
   source ~/.bashrc
    --git 删除未添加到版本中的文件或者文件夹

        git checkout 只能回退在版本中的修改或者删除, 对于新添加的文件是没有作用的, 也就是说, 新建的文件或者文件夹是:Untracked files, 要删除或者清理掉这些文件,需要使用 git clean 命令:


   // 删除 untracked files
   git clean -f
 
   // 连 untracked 的目录也一起删掉
   git clean -fd
 
   // 连 gitignore的untrack 文件/目录也一起删掉 (一般这个是用来删掉编译出来的 .o一类的文件)
   git clean -xfd
 
   // 在使用清理 git clean之前,建议加上 -n 来先看看会删掉哪些文件,防止重要文件被误删
   git clean -nxfd
   git clean -nf
   git clean -nfd

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C+ 安口木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值