Git命令操作

git 配置

git config --global user.name "用户名" #设置用户名
git config --global user.email "邮箱地址" #设置邮箱地址

常用参数

-a--all # 代表所有
-f--force # 强制操作
-r--remote # 远程

-d--delete # 删除
-D--delete -- force # 强制删除

-m--move # 重命名
-M--move --force # 强制重命名

基础操作

初始化

git init # 初始化 git 文件夹
git remote add origin http://xxx.git # 关联远程仓库地址
git clone http://xxx.git # 克隆远程分支到本地

提交

git add . # 添加所有文件到暂存区
git commit -m "备注内容" # 提交并写备注

推送

git push origin master # 推送到 master
git push -f origin master # 强制推送到 master

拉取代码

git pull origin master # 拉取最新 master 分支

本地分支

git branch # 查看本地所有分支
git checkout dev # 本地切换到 dev 分支
git checkout -b dev origin/dev # 检出远程 dev 分支到本地
git checkout -b dev # 本地创建新的 dev 分支,并切换到 dev 分支
git branch dev # 本地只创建一个新的 dev 分支
git branch -d dev # 删除本地的 dev 分支
git branch -D dev # 强制删除本地的 dev 分支
git branch -m dev dev1 # 重命名本地 dev 分支为 dev1 分支
git push origin dev:dev # 推送本地新建的 dev 分支到远程仓库
git branch --track dev origin/dev # 新建本地 dev 分支,并关联到远程的 dev 分支
git branch --set-upstream dev origin/dev # 将本地已经存在的 dev 分支关联到远程的 dev 分支

远程分支

git branch -r # 查看远程所有分支
git branch -a # 查看本地和远程所有分支
git push -f origin dev # 推送本地分支到远程仓库的 dev 分支,可以加 -f 参数,强制推送
git push origin dev:dev # 推送本地的 dev 分支到远程指定的 dev 分支
git pull origin dev # 从远程仓库的 dev 分支拉取最新的代码,拉取后是会合并到当前分支,相当于执行:git fetch origin 和 dev git merge FETCH_HEAD 两条命令
git fetch --all # 获取远程仓库的所有分支
git fetch origin master # 从远程拉取 master 分支最新内容到本地
git fetch origin master:feature_log # 从远程 master 分支拉取代码到本地,并新建为 feature_log 分支
git push origin -d dev # 删除远程的 dev 分支
git branch -D -r dev # 强制删除远程的 dev 分支

合并

git merge dev # 将本地 dev 分支合并到当前分支
git rebase dev # 将本地 dev 分支合并到当前分支

提交

git add file1.txt file2.txt # 添加指定文件到暂存区,可以单个或者多个文件
git add . # 添加所有文件到暂存区
git commit -m "注释" # 提交所有暂存区内容到远程仓库
git commit file1.txt file2.txt -m "注释" # 提交暂存区指定文件到远程仓库
git commit --amend -m "更改新的注释" # 修改最后一次提交的注释内容

修改和删除

git rm file1.txt # 删除本地指定的文件
git rm -r --cached --force node_modules/ # 删除远程指定的文件夹
git mv file1.txt file2.txt # 修改文件名 file1.txt 为 file2.txt
git rm --cached file1.txt # 停止追踪文件,但不会真正删除

撤销

撤销本次提交到暂存区

git reset --soft HEAD^ # 撤销本次修改的内容,会撤回到暂存区并保留之前的代码

回退指定版本

git reset --hard [commit_id] # 根据提交的 hash 值回退到某个提交的版本,可以 git log 来查看提交所有记录的 hash 值
git push origin HEAD --force # 回退版本后,需要强制推送到远程分支

强制覆盖本地

git reset --hard origin/master # 强制用远程的master分支覆盖本地代码

其他

git checkout -- file1.txt # 第一种作用:本地误删文件,可以用远程来替换到本地
git checkout -- file1.txt # 第二种作用:未用 git add 缓存代码时候,该命令可以撤销本地的修改
git checkout . # 撤销本地所有文件的修改
git reset HEAD file1.txt # 移除暂存区中指定的文件
git reset HEAD . # 移除暂存区中所有文件
git reset . # 移除暂存区中所有文件
git revert HEAD # 放弃最后一次提交

远程操作

git remote -v # 查看远程仓库连接地址
git remote show origin # 查看远程和本地仓库的信息
git remote add origin http://xxx.git # 关联到远程仓库地址

标签

git tag # 查看所有标签
git tag [tagname] # 创建标签
git tag -a [tagname] -m "v0.2" # 修改标签信息
git tag -d [tagname] # 删除标签

查看

git status # 查看仓库状态
git rev-parse HEAD # 查看当前分支最新提交的 hash 值
git log # 查看所有提交信息,包含 hash 值等,可以作为回退版本用
git log -p file.txt # 查看指定文件的提交历史
git log --grapy # 以图表分类形式查看提交日志,等同于 git blam
git blam # 以图表分类方式查看提交日志
git commit -v # 提交时显示所有的 diff 信息
git diff # 显示暂存区和本地区的差异
git diff HEAD # 显示本地和当前分支最新提交的代码之间的差异
git diff --cached # 显示缓存区文件和上次提交之前的差异
git diff [commit-hash-1] [commit-hash-2] # 通过 commit 的 hash 值比较这两个版本间的差异
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值