美文网首页
Git常用命令

Git常用命令

作者: m1Ku | 来源:发表于2019-01-01 11:37 被阅读0次

记录开发中常用的Git命令和使用技巧

Git仓库

Git项目的初始化

第一种方式,将本地已有的仓库和远程库关联

  1. 初始化本地仓库

    • 新建一个说明文档

    touch README.md

    • 初始化本地仓库

    git init

    • 提交文件,初次提交信息

      git commit -am "first commit"

  2. 关联远端仓库

    • 添加远端仓库的地址,名字叫origin

      git remote add origin git@192.168.1.21:maoyiming/learn_git.git

    • 将本地仓库的内容push到远端仓库

      git push -u origin master

第二种方式,克隆远程仓库

  • 使用命令克隆

    git clone git@192.168.1.21:maoyiming/learn_git.git

Git仓库操作

  • 删除本地仓库

    find . -name ".git" | xargs rm -Rf

  • 删除远端仓库

    git remote rm origin

Git用户信息配置

  • 查看当前用户名

    git config user.name

  • 配置用户名

    git config --global user.name "m1Ku"

  • 查看当前邮箱

    git config user.email

  • 配置邮箱

    git config --global user.email "xxx@gmail.com"

分支操作

  • 新建分支

    git checkout -b dev master

    新建一个基于master分支的dev分支,并切换到dev分支

  • 新建分支后,将分支推送到远端,并且建立关联

    git push -u origin dev

  • 查看本地分支

    git branch

  • 查看远程分支

    git branch -a

  • 切换分支

    git checkout 分支名

  • 删除本地分支

    git branch -d test

  • 删除远端分支

    git push --delete origin test

  • 合并分支

    git merge origin/test

    将test分支与当前分支合并

  • cherry-pick 将指定的提交应用于其他分支
    git cherry-pick <commitHash>
    如果cherry-pick过程中遇到冲突

    • --continue
      第一步将修改的文件重新加入暂存区(git add .),第二步使用该命令,让 Cherry pick 过程继续执行。
    • --abort
      发生代码冲突后,放弃合并,回到操作前的样子。
    • --quit
      发生代码冲突后,退出 Cherry pick,但是不回到操作前的样子。
  • 重命名分支名

    先修改本地分支名

    git branch -m oldName newName

    如果要重命名远程分支名字,先将远程分支删除,然后再将本地分支推送到远端

  • 远程已经删除的过时分支,本地依然可见的问题

    有时候当一个远端分支被删除后,通过git branch -a还是可以看到这个远端分支?

    可以通过这个命令 git remote show origin查看具体分支信息,当远程分支被标记为stale(过时)时,可以使用git remote prune origin来移除过时分支,同步远程分支

标签操作

  • 新建标签

    git tag -a v1.02(标签名) -m "1.02上线完成"

    -a 指定标签名称,-m标签说明

  • 推送指定标签到远端

    git push origin v1.02(标签名)

  • 推送所有标签推送到远端

    git push origin --tags

  • 查看所有标签

    git tag

  • 删除本地标签

    git tag -d v1.4.1

  • 删除远端标签

    git push origin:refs/tags/v1.4.1

版本回退

版本回退有两种方式

  1. 指定回退版本的个数

    • 回退到上一个版本

      git reset --hard HEAD^ (如果回退到前两个版本就是 HEAD^^,一次类推)

    • 回到的前100个版本

      git reset --hard HEAD~100

  2. 指定回退的版本号

    • 查看提交的版本号

      git reflog

    • 回退到commit 6fcfc79版本

      git reset --hard 6fcfc79

代码相关操作

代码提交

  • 将修改提交到缓存区

    git add .

  • 将本地缓存保存到本地仓库中

    git commit -m "提交注释"

  • add和commit可以简化为

    git commit-am "提交注释"

  • 将本地仓库推送到远端

    git push

  • 同步远端代码到本地仓库

    git pull

代码修改

  • 撤销工作区文件的修改

    git checkout --<file>撤销工作区文件的修改
    
  • 撤销缓存区文件的修改

    1. 先把缓存区的修改撤销掉(unstage),使其重回工作区

      git reset HEAD file

    2. 再撤销工作区文件的修改

      git checkout --<file>撤销工作区文件的修改

查看一个文件的历史

git log -- filename

Git使用技巧

恢复删除的文件

  • 首先找到在哪个commit中删除了文件

    git log --diff-filter=D --summary

  • 恢复指定commit删除的指定文件

    git checkout $commit~1 filename

查看文件每个部分是谁修改的

  • 协同开发时,可能一个文件被多个人修改以至于出现bug,此时想知道是谁改出了bug?

    git blame filename

文件和文件夹操作

  • 新建一个文件

    touch readme.md

  • 新建一个文件夹

    mkdir code

  • 切换目录

    cd d:/code

  • 回退到上一个目录

    cd ..

  • 打印当前工作目录

    pwd (print working directory)

  • 删除一个文件

    rm index.js

  • 删除一个文件夹

    rm -r code

  • 清空工作区的内容

    reset

相关文章

网友评论

      本文标题:Git常用命令

      本文链接:https://www.haomeiwen.com/subject/eaknlqtx.html