常用git命令集锦

发布时间:2022-04-12 11:26:27 作者:yexindonglai@163.com 阅读(998)

git init 初始化

将当前目录初始化为 git 本地仓库,此时会在本地创建一个 .git 的文件夹

git init -q

静默执行,就是在后台执行

git init —bare

–bare 参数,一般用来初始化一个空的目录,作为远程存储仓库

git init —template dir

–template 参数,相当于将已有的git仓库目录复制一份出来,生成新的仓库,dir是原git目录;

  1. git init --template ../project
git init —separate-git-dir dir

相当于复制仓库dir目录(可以是工作仓库,也可以是存储仓库)中的.git目录,只复值.git目录

  1. git init --separate-git-dir ../project

git log 查看当前git提交记录

查看git提交记录,只看提交带本地仓库的记录;

  1. git log

--oneline 简化git日志输出格式

  1. $ git log --oneline
  2. 3662c32 (HEAD -> v1.0.0, origin/v1.0.0) feat: 表单已完成,等待接口完善
  3. 661dfc0 (origin/master, origin/HEAD, master) init

git remote 命令

git remote add origin url 创建远程仓库

在git服务器上创建一个远程仓库,这里以码云为例

  1. git remote add origin https://gitee.com/你的码云用户名/projectName
git remote -v 查看本地添加了哪些远程分支的地址
  1. $ git remote -v
  2. origin http://git.woa.com/bkdevops-plugins/fitFmqPulsarTopicAutoDeploy.git (fetch)
  3. origin http://git.woa.com/bkdevops-plugins/fitFmqPulsarTopicAutoDeploy.git (push)
git remote remove xxx

删除本地指定的远程地址

  1. git remote remove origin

git pull origin xxx 拉取代码

拉取指定分支的代码,master 是分支名称

  1. git pull origin master

git add . 将文件保存到缓存区

你新增的文件是不可以直接提交的,必须先将文件添加到缓存区;

  1. # 把新增的、修改的都加到缓存
  2. git add .
  3. # 把新增、和修改的、和删除的都加到缓存
  4. git add -A
  5. # 添加 file文件或目录到缓存区
  6. git add + file

git commit -m ‘xxx’ 提交到本地仓库

将缓存区的文件提交到本地仓库

  1. # 提交缓存区的所有文件到本地仓库
  2. git commit -m '新添加的文件内容描述'
  3. # 提交指定的文件到本地仓库
  4. git commit -o index.html about.html -m '我同时提交了 工作区的index.html 和 暂存区的about.html 这两个文件'

git push origin xxx 推送到远程仓库

push 是将本地仓库中的代码推送到远程仓库

  1. # 将本地仓库的代码推送到远程仓库的master分支
  2. git push origin master

git pull url 拉取远程仓库的代码且与本地代码合并

拉取指定git url的代码,未指定分支的情况下,默认拉取master分支

  1. git clone https://xxx.git

git拉取远程指定分支下代码(-b 分支名称)

  1. git clone -b v2.8.1 https://xxx.git

git fetch url 拉取远程仓库的代码不合并,以远程代码为准

  1. git fetch origin master

fetch与pull的区别

  • fetch是将远程主机的最新内容拉到本地,不进行合并
  • pull 则是将远程主机的master分支最新内容拉下来后与当前本地分支直接合并 fetch+merge

git config git配置

查看git的配置信息

  1. # 执行后,,进入编辑状态,按 Q 退出
  2. git config -l

修改配置

  1. # git配置本地仓库的userName(必须)
  2. git config user.name 'Lee'
  3. # git配置本地仓库的邮箱(必须)
  4. git config user.email '12345@qq.com'

git status

查看当前git状态信息(查看是否有文件未提交),以下示例提示有个 index.html 的文件修改了未提交,Untracked files表示忽略的目录或文件

  1. $ git status
  2. On branch v1.0.0
  3. Your branch is up to date with 'origin/v1.0.0'.
  4. Changes not staged for commit:
  5. (use "git add <file>..." to update what will be committed)
  6. (use "git restore <file>..." to discard changes in working directory)
  7. modified: src/index.html
  8. Untracked files:
  9. (use "git add <file>..." to include in what will be committed)
  10. ../.idea/
  11. no changes added to commit (use "git add" and/or "git commit -a")

git branch 查看分支

git branch -r 查看所有的远程分支

origin/HEAD 是一个默认分支的指针,指向了master,表示origin/master就是默认分支

  1. $ git branch -r
  2. origin/HEAD -> origin/master
  3. origin/master
  4. origin/v1.0.0
git branch -a 查看所有的分支(包含远程和本地)

* 表示当前选择的分支

  1. $ git branch -a
  2. master
  3. * v1.0.0
  4. remotes/origin/HEAD -> origin/master
  5. remotes/origin/master
  6. remotes/origin/v1.0.0

git reset —hard “HEAD^” 回退

可以用来删除已提交到本地仓库的版本,回退到上一个版本,切记,谨慎使用,执行多次会恢复到之前的版本,且代码不可恢复( —hard表示全恢复 )

  1. # 以下2种用法,linux系统使用第一种,win系统使用第二种
  2. git reset --hard HEAD^
  3. git reset --hard "HEAD^"

git reset —hard xxx 回退到指定的版本

回退到指定的版本,提交点:可用ID或标签

  1. # 回退到指定的版本号
  2. git reset --hard 3662c32f

git reflog 查询所有提交点

回退后需要反悔的话,需要通过此命令查找到所有操作的提交点

  1. git reflog

.gitignore 忽略的目录或文件

目录下建立一个.gitignore文件(可以有多个,影响范围当前文件及子文件),文件内可指定提交时忽略的文件和目录,可 同时忽略多个

  1. touch .gitignore

git rm -r —cached 删除缓存区文件

删除缓存区的所有文件, . 表示所有

  1. git rm -r --cached .

删除缓存区指定的文件

  1. git rm -r --cached index.html

合并分支

合并分支reking和主干master,合并后的提交点属于主干master

  1. git checkout master
  2. git rebase reking

git diff 统计文件改动

比较本地 v1.0.0分支和远程分支origin/master的差异

  1. $ git diff --stat v1.0.0 origin/master
  2. bk-frontend/package.json | 5 +-
  3. bk-frontend/src/Atom.vue | 63 ++++++++++++
  4. bk-frontend/src/data/Index.vue | 187 ------------------------------------
  5. bk-frontend/src/data/LocalAtom.vue | 74 ++++++++++++++
  6. bk-frontend/src/data/PublicAtom.vue | 103 ++++++++++++++++++++
  7. bk-frontend/src/data/task.json | 49 ++++++++++
  8. bk-frontend/src/main.js | 11 +--
  9. 7 files changed, 295 insertions(+), 197 deletions(-)

关键字git