git命令

git命令

配置相关操作与初始化

命令名称 作用
git init 仓库初始化
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
配置用户名和邮箱
git config -l 查看所有配置信息
git config 变量名 查看指定配置信息
git config --global --unset 变量名 删除指定配置信息
git config --global --edit 修改配置信息

文件与文件夹相关操作与路径切换

命令名称 作用
cd 绝对路径 切换到指定绝对路径
..切换到上一级目录
文件夹名进入指定文件夹
ls 查看当前文件夹下的所有文件
touch 文件1...文件n 创建文件
cat 文件 查看文件内容
mkdir 文件夹1...文件夹n 创建文件夹
rm 文件夹1 ..文件夹n -r 删除工作区文件夹
如果要删除缓存区需要添加--cache
如果需要同时删除暂存区和工作区,需要添加 -f
rm 文件1 ..文件n 删除工作区文件
如果要删除缓存区需要添加--cache
如果需要同时删除暂存区和工作区,需要添加 -f

操作同步相关操作

命令名称 作用
git add -u 被修改(modified)和被删除(deleted)文件,不包括新文件(new)同步到暂存区
git add . 新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件同步到暂存区
git add -A 将所有变化同步到暂存区,git add -u 和 git add . 的结合
git restore -A 返回至暂存区的状态
git commit 进入vim模式添加注释并添加到仓库(按esc再输入:wq退出vim)
git commit -m 注释 为本次操作添加注释并添加到仓库
git status 查看当前状态
红色:当前操作只存在于工作区
绿色:当前操作保存到了暂存区但没有保存到本地仓库
白色:当前操作保存到了本地仓库
git ls-files 查看所有暂存区的文件
git restore 回退至暂存区的状态

版本相关操作

命令名称 作用
git log 查看当前版本以及之前的版本(提交日志)
如果加--oneline则会以一行简化的方式查看
git reflog 查看所有提交的历史记录(不只是当前分支的历史记录)。
如果加--oneline则会以一行简化的方式查看
git reset --hard 版本号 回退到指定版本号的版本,版本号可以只写前七位
git reset --hard HEAD^ 回退到上一个版本,每多一个^就多退一个版本
git reset --hard HEAD~n 回退到前n个版本
git reset --hard HEAD@ 回退到前n个历史记录
git reset --hard 版本号 文件名 将指定文件回退到指定版本号(需要先进入该文件目录)

分支相关操作

命令名称 作用
git branch 查看所有分支
git checkout 分支名 切换到指定分支
git checkout -b 分支名1 ...分支名n 创建新分支并切换到该分支
git merge 分支名1 ...分支名n 合并分支
git branch -d 分支名1 ...分支名n 删除分支

清屏和设置git默认编辑器

命令名称 作用
ctrl+l或clear 清屏
git config --global core.editor vim 将git的默认编辑器设置为vim

配置忽略文件

仓库中没有提交该文件

创建一个文件【.gitignore】配置忽略,一般与.git目录同级,不要鼠标右键直接创建,要通过编辑器的方式创建

常见情况有:

  1. 临时文件
  2. 多媒体文件、如音频、视频
  3. 编辑器生成的配置文件(.idea)
  4. npm安装的第三方模块
# 忽略 .swp文件(临时文件)  .mp4文件
.swp
.mp4

#忽略指定的文件 .idea
.idea

#忽略当前文件夹下的node_modules文件和文件夹
node_modules

仓库中已经提交该文件

办法1:【非常委婉型】

  1. 对于已经加入到暂存区中的文件,可以在暂存区中删除该文件
git rm --cached 文件名

​ 2. 然后再.gitignore中配置忽略

*.mp4

​ 3. add和commit提交即可

办法2:【简单粗暴型】

​ 还可以直接将.git目录删掉,然后重新add和commit也可以,但是这样做风险太大,容易找不到之前的版本。

多人协作远程仓库相关命令

命令名称 作用
git remote -v 查看当前所有远程地址别名
git remote add 别名 远程地址 起别名并建立与远程仓库的连接
git remote rm 别名 删除别名并断开与远程仓库的连接
git clone 远程地址 将远程仓库的内容克隆到本地(需要本地没有文件)
git pull 将远程仓库的更新同步到本地
git pull 远程库地址别名 远程分支名 将远程仓库对于分支的更新同步到本地
git push -f 提交本地代码到远程仓库并覆盖(慎用,一般只有回退版本时会使用)
git push -u 别名 分支 推送本地分支上的内容到远程仓库并添加关联(-u关联)
如果git push添加了关联,后续推送关联分支文件可以简写成git push
添加关联分支的子分支直接写成git push origin 子分支名称
git push 别名 --delete 分支名 删除远程分支但不删除本地分支(不能删除主分支)

免密登录

  1. 创建非对称加密对

    //使用git终端在任意路径输入命令即可
    ssh-keygen -t rsa -C '邮箱'
    
  2. 文件默认存储在家目录(c:/用户/用户名/.ssh)的 .ssh 文件夹中。

    • id_rsa 私钥
    • id_rsa.pub 公钥
  3. 将公钥(.pub)文件内容配置到账号的秘钥中

    • 首页 -> 右上角头像-> settings -> SSH and GPG keys -> new SSH Key
  4. 克隆代码时,选择 ssh 模式进行克隆 (地址 在仓库首页 绿色 克隆的位置 选择 use ssh)

    git clone git@github.com/xiaohigh/team-repo-1.git 
    

5.ssh-keygen命令常用参数:

  • -t:指定生成密钥的类型,默认使用RSA类型密钥。
  • -f:指定生成密钥的文件名,默认id_rsa(私钥,公钥id_rsa.pub
  • -P:提供旧密码,空表示不需要密码(-P ' ')。
  • -N:提供新密码,空表示不需要密码(-N ' ')。
  • -C:提供一个新注释,比如邮箱。
posted @ 2022-04-20 18:52  听风小弟  阅读(45)  评论(0)    收藏  举报