git常用命令

git常用命令

账号配置

  • MAC配置全局的git账户

    查看所有账户信息

    git config --list
    

    查看当前全局的git账户信息

    git config user.name
    git config user.email 
    

    添加/覆盖全局git用户名和邮箱

    git config --global user.name "用户名"
    git config --global user.email "邮箱"
    

    删除全局的git用户名和邮箱

    git config --global --unset user.name "用户名"
    git config --global --unset user.email "邮箱"
    
  • Mac配置git SSH公私钥

    查看本地ssh目录是否有公私钥

    cd ~/.ssh
    

    如果有删除,没有执行下命令创建

    ssh-keygen -t rsa -C “邮箱账号”  //一路回车即可生成 id_rsa 、id_rsa.pub
    

    将id_rsa.pub 公钥拷贝至服务器的ssh中即可

    cat id_rsa.pub 
    

git 文件管理

  • 查看当前分支本地文件状态

    git status
    
  • 查看当前分支本地修改文件具体信息

    查看所有修改明细

    git diff HEAD
    

    查看具体文件修改明细( 例如:查看readme.txt修改内容)

    git diff readme.txt
    
  • 修改文件后推送到远端

    查看修改的文件

    git status
    

    查看修改文件具体内容

    git diff xxxx
    

    将xxx文件添加到缓存区

    git add xxxx
    

    提交到本地库并添加提交说明,也可以不需要说明直接 git commit

    git commit -m “提交说明”
    

    提交到远程master分支

    git push origin master
    

分支管理

  • 查看本地分支

    git branch
    
  • 查看远程分支

    git branch -r
    
  • 查看所有分支(本地&远程)

    git branch -a
    
  • 创建本地分支

    git branch dev      //dev 是分支名,可自定义
    
  • 切换本地分支

    git checkout dev    //dev 是要切换目标分支名称
    
  • 将本地分支push到远程(要切换到推送的目标分支上)

    git push origin dev //dev 是要推送要远程的本地分支名称
    
  • 删除本地分支

    git branch -D dev   //dev 是要删除的本地分支名称
    

命令行指引

Git 全局设置
git config --global user.name "username"
git config --global user.email "email"
git clone

程操作的第一步,通常是从远程主机克隆一个版本库,这时就要用到git clone命令。

$ git clone <版本库的网址>

该命令会在本地主机生成一个目录,与远程主机的版本库同名。如果要指定不同的目录名,可以将目录名作为git clone命令的第二个参数。

$ git clone <版本库的网址> <本地目录名>

git clone支持多种协议,除了HTTP(s)以外,还支持SSH、Git、本地文件协议等,下面是一些例子。

$ git clone http[s]://example.com/path/to/repo.git/
$ git clone ssh://example.com/path/to/repo.git/
$ git clone git://example.com/path/to/repo.git/
$ git clone /opt/git/project.git 
$ git clone file:///opt/git/project.git
$ git clone ftp[s]://example.com/path/to/repo.git/
$ git clone rsync://example.com/path/to/repo.git/

SSH协议还有另一种写法。

$ git clone [user@]example.com:path/to/repo.git/
$ git clone  git@github.com:jquery/jquery.git

通常来说,Git协议下载速度最快,SSH协议用于需要用户认证的场合。各种协议优劣的详细讨论请参考官方文档

git remote

为了便于管理,Git要求每个远程主机都必须指定一个主机名。git remote命令就用于管理主机名。

不带选项的时候,git remote命令列出所有远程主机。

$ git remote
origin

使用-v选项,可以参看远程主机的网址。

$ git remote -v
origin  git@github.com:jquery/jquery.git (fetch)
origin  git@github.com:jquery/jquery.git (push)

上面命令表示,当前只有一台远程主机,叫做origin,以及它的网址。

克隆版本库的时候,所使用的远程主机自动被Git命名为origin。如果想用其他的主机名,需要用git clone命令的-o选项指定。

$ git clone -o jQuery https://github.com/jquery/jquery.git
$ git remote
jQuery

上面命令表示,克隆的时候,指定远程主机叫做jQuery。

git remote show命令加上主机名,可以查看该主机的详细信息。

$ git remote show <主机名>
$ git remote show origin

git remote add命令用于添加远程主机。

$ git remote add <主机名> <网址>
$ git remote add origin git@github.com:jquery/jquery.git

git remote rm命令用于删除远程主机。

$ git remote rm <主机名>
$ git remote rm origin

git remote rename命令用于远程主机的改名。

$ git remote rename <原主机名> <新主机名>
$ git remote rename origin old-origin

参考地址

远程创建一个新仓库,克隆到本地
  1. 在gitlab上新建一个项目然后在本地clone下来,

  2. 进入项目添加文件通过git add命令,将文件关联到git;

    git add file.txt 添加指定文件到git

    git add . 添加所有文件到git

  3. 通过git commit命令提交关联到git到文件;

  4. 通过git push命令将提交的文件推送到远程git仓库指定分支

git clone ssh://git@gitlab.xxxx.xxx:port/username/projectname.git
cd projectname
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
将本地现存项目推送到到远程仓库
  1. 进入本地现有项目文件夹
  2. 执行git ini初始化git命令
  3. 给当前项目添加远程仓库主机名称和地址 git remote add <主机名> <地址>
  4. 执行git add .命令将文件添加到git
  5. 执行git commit 命令将文件的文件提交到git
  6. 执行git push命令将提交到文件推送到远程仓库
cd existing_folder
git init
git remote add origin ssh://git@gitlab.xxxx.xxx:port/username/projectname.git
git add .
git commit -m "Initial commit"
git push -u origin master
将本地已有的Git仓库项目推送到一个新的地址(或者说更改现有的git仓库远程地址)
  1. 进入本地已有git仓库项目
  2. 重命名当前项目远程仓库的主机名称git remote rename <原主机名> <新主机名>
  3. 重新设置当前项目的远程仓库主机名和地址git remote add <主机名> <地址>
  4. 将当前项目全部文件推送到新仓库git push -u <当前项目远程主机名> --all
  5. 将当前项目的标签推送到新仓库git push -u <当前项目远程主机名> --tags
cd existing_repo
git remote rename origin old-origin
git remote add origin ssh://git@gitlab.xxxx.xxx:port/username/projectname.git
git push -u origin --all
git push -u origin --tags
git地址迁移
  • 查看当前仓库地址

    git remote show origin
    
  • 更改项目git地址(迁移)

    • 方式一

      通过set-url origin 指定远程仓库地址

      git remote set-url origin [新地址]
      
      
    • 方式二(会产生两个远程分支old-origin和origin)

      1、重命名当前远程分支;2、添加当前远程分支的新地址

      //重命名当前远程分支为 old-origin
      git remote rename origin old-origin
      git remote add origin [新地址]
      

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值