工作中常用的git操作

  1. 克隆
// 克隆远程仓库到本地,默认是master分支,github默认main分支
git clone ssh/https地址 // https地址可以直接clone,但每次在push时需要输入用户名和密码;ssh的在clone之前需要添加ssh key,但在push时不需要输入用户名和密码

// 克隆指定分支的代码
git clone -b branch_name ssh/https地址
  1. 状态
// 查看状态
git status

// 查看提交历史
git log
  1. 提交
// 暂存:本地和远程不同的文件,被添加到暂存区的操作
// 暂存指定文件
git add file_name

// 暂存所有文件
git add .

// 暂存指定后缀的文件
git add *.js
git add *.md
...

// 提交:将暂存区内容提交到本地仓库
git commit -m "commit message"

// 一条命令完成暂存和提交的操作, 此操作只会提交已经存在远程仓库的文件,从未被提交过的文件不会被暂存也不会被提交
git commit -am "commit message"

// 推送:将本地仓库的内容推送到远程仓库
git push
  1. 分支
// 查看本地和远程所有的分支
git branch -a

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

// 查看本地所有分支
git branch

// 切换分支
git checkout branch_name

// 新建分支
git branch branch_name

// 新建分支并切换到该分支
git branch -b branch_name

// 新建分支并推送到远程
git checkout -b dev
git push origin dev:dev

// 新建并切换,并拉取远程同名分支
git checkout -b branch_name origin/remote_branch_name

// 删除远程分支
先通过 git branch -a或-r查看远程分支
然后使用 git push origin --delete remote_branch_name

// 删除本地分支
// 删除本地某个分支前,需要先切出这个分支
git checkout master
git branch -d branch_name

// 当一个分支未被合并或推送到远程时,需使用-D 强制删除
git branch -D branch_name

// 分支的合并
// 将目标分支合并到当前分支
git merge 目标branch_name

git branch -a
在这里插入图片描述
星号 代表当前所在分支

git log
在这里插入图片描述
黄色字符代表commit id

  1. 小技巧
  • 合并某次commit到某个分支
// 合并某个commit到其他分支
先查使用git log看commit记录,找到要合并的commit_id
然后切换到要合并到的分支,使用 git cherry-pick commit_id
然后 git push

例如:
git cherry-pick ce846d53ed6f9 // id 用前面几位即可
git push
  • 当我们正在开发某个功能时,突然测试提出了紧急bug,我们要切到fix分支去解决bug,但此时当前dev分支的工作还没完成,不能提交。幸好git提供了git stash 来储藏未完成的开发内容
    在这里插入图片描述
$ git stash
$ Saved working directory and index state WIP on ref: 628ef3b 修改端口号

此时git status,会发现工作区是干净的,除非是未被git跟踪的文件

如果要储藏所有工作区的文件(包含未跟踪)
使用 git stash --include-untracked
简称 git stash -u

当bug修复之后,切回dev分支,合并刚才解决bug的commit继续开发
如何找回储藏的代码呢?

$ git stash list
stash@{0}: WIP on ref: 628ef3b 修改端口号

恢复方式:

1.git stash apply 恢复后,stash内容不会删除,如要删除,使用git stash drop
2.git stash pop 恢复的同时会删除stash内容

如有多次stash,使用git stash list查看所有stash
使用git stash apply stash@{0} 恢复

  • git 远程仓库迁移,本地如何迁移

手动编辑 .git/config,修改url,然后提交推送
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值