Git日常使用

git 基础

配置

Git 全局设置:

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

创建Git仓库:

# 创建目录
mkdir demo
# 切换到目录
cd demo
# 初始化仓库
git init
# 创建测试文件
touch README.md
# 增加到暂存区
git add README.md
# 提交到本地仓库并注释
git commit -m '首次提交'
# 添加远程仓库
git remote add origin 仓库地址
# 将本地的master分支推送到远程origin,并制定origin为默认主机,后面就可以不加任何参数使用git push
git push -u origin master

已有仓库?

# 切换到已存在仓库目录
cd existing_git_repo
# 添加至远程仓库
git remote add origin 仓库地址
# 将本地的master分支推送到远程origin,并制定origin为默认主机,后面就可以不加任何参数使用git push
git push -u origin master

操作

git status

名称

git-status - 显示工作树状态 Show the working tree status

概要

git status [<选项>…] [–] […]

描述

显示索引文件和当前HEAD提交之间有差异的路径,工作区和索引文件之间具有差异的路径,以及Git未跟踪(并且gitignore文件不忽略的工作路径)的路径。第一部分是可以通过git commit将要从本地暂存区提交到本地仓库的内容,第二部分是可以通过git add来添加到本地暂存区的内容。
例如:

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   a.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        b.txt
        c.txt

日常使用:git status --stat

git status --stat

git add

描述

将本地文件,增加到本地暂存区

$ touch d.txt
$ echo dddd > d.txt
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   a.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        b.txt
        c.txt
        d.txt


$ git add d.txt
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   a.txt
        new file:   d.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        b.txt
        c.txt

git commit

描述

将本地暂存区,提交到本地仓库

 $ git commit -m '添加a和d文本文件'
[master 915a3f8] 添加a和d文本文件
 2 files changed, 1 insertion(+)
 create mode 100644 a.txt
 create mode 100644 d.txt
 $ git log --stat -1
commit 915a3f8660ddd8c712b3b3fedcee1760130f56b1 (HEAD -> master)
Author: flybing <j1473131333@163.com>
Date:   Mon May 25 23:28:02 2020 +0800

    添加a和d文本文件

 a.txt | 0
 d.txt | 1 +
 2 files changed, 1 insertion(+)

git log

描述

查看提交到仓库的记录

 $ git log --stat -1
commit 915a3f8660ddd8c712b3b3fedcee1760130f56b1 (HEAD -> master)
Author: flybing <j1473131333@163.com>
Date:   Mon May 25 23:28:02 2020 +0800

    添加a和d文本文件

 a.txt | 0
 d.txt | 1 +
 2 files changed, 1 insertion(+)

git push

描述

将本地仓库内容提交到远程仓库

git push origin master

git remote

git rebase

git 进阶

  1. 基本操作

    • 日常开发的使用流程

      • git init
      • ls -al
      • git config [–global] user.name {username}
      • git config [–global] user.email {email}
      • git status / git status --stat /git status -p
      • touch repo.txt
      • git add
      • git rm --cached {filename}
      • git commit / git commit -a / git commit -a -m /git commit --amend
      • git log / git log --pretty=oneline / git log --oneline/ git reflog
      • git push / git push origin master / git push origin dev
      • git show {version}
    • 仓库初始化

      git init
      
    • 查看.git目录

      ls -al 
      

    官方链接:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%88%9D%E6%AC%A1%E8%BF%90%E8%A1%8C-Git-%E5%89%8D%E7%9A%84%E9%85%8D%E7%BD%AE

    • 配置用户名
      git config --global user.name flybing_glb
      
    • 配置邮箱
      git config --global user.email flybing_glb@glb.com
      
    • 状态查看
      git status / git status --stat /git status -p
      
    • 增加到暂存区
      git add 
      
    • 暂存区撤销到工作区
      git rm --cached {filename}
      
    • 提交到本地仓库
      git commit / git commit -a / git commit -a -m /git commit --amend
      
    • 日志查看
      git log / git log --pretty=oneline / git log --oneline/ git reflog
      
    • 推至仓库
      git push / git push origin master / git push origin dev
      
  2. 场景

    • 远端仓库改变

      • 查看远程仓库

        git remote -v

      • 增加远程仓库

        git remote add origin git@gitee.com:flybingcode/jx-demo.git

        git remote add test git@gitee.com:flybingcode/jx-test.git

      • 更新远程仓库地址

        git remote set-url --push test git@gitee.com:flybingcode/jx-test-2.git

    • 多远端仓库

      • 同一个仓库别名设置多个仓库地址(添加多个地址前,本地远程仓库必须存在)

        git remote set-url --add origin git@gitee.com:flybingcode/jx-demo-2.git

    • 分支的使用

      • 什么是分支?

        说明:版本控制过程中,使用多条线同时推进多个任务

      • 分支的好处?

        • 同时并行推进多个功能开发,提高开发效率
        • 各个分支在开发过程中,如果一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始
      • 基本操作,例如CRM标准版,需要增加新功能,使用分支实现

        创建分支

        git branch dev
        

        切换分支

        git checkout dev
        

        或者:创建并切换分支

        git checkout -b dev
        

        删除分支

        git branch -d dev
        

        推送本地分支到远程其他分支

        git push origin master:test

        设置当前分支为push默认分支
        git config --global push.default “current” / git push origin {branch_name}

        • 分支冲突的解决

          git checkout -b dev

          echo ‘dev conflict’ > a.txt

          git branch master

          echo ‘master conflict’ > a.txt

          git branch dev

          git merge master

          git reset --hard HEAD // 退出merging

  3. 日常使用

    • 详细信息

      git blame

    • 合并提交

      git rebase -i

    • 显示差异

      • 工作区和暂存区

        git diff {filename}

      • 工作区和本地库

        git diff HEAD {filename}

      • 工作区和某个版本库

        git diff HEAD^ {fileanme}

      • 版本管理,使用HEAD指针,回退或前进,就是改变HEAD指针的位置

        • 版本回退

          git reset --hard/–soft/–mixed

          git reset --hard HEAD^ # 只能后退
          git reset --hard HEAD~1
          git reset --hard {version}

  4. 扩展

    https://username:password@gitee.com/flybing/test.git

    fork

    pull_request

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值