git 常用的命令

git resstore . 或者文件名称  // 撤消工作区的修改返回到最近一次add(缓存区)的版本或者最近一次commit(当前版本库)的版
git push origin 分支名:本地分支名     // 添加到库
ssh-keygen -t rsa   //获取RSA公钥
git push --set-upstream origin 要建立跟踪的分支   //当前分支与哪个分支建立连接
个人理解:可以使用跟踪用本地dev更新库里的master,但是,这样的话会造成库dev不如库master更新快,
所以应该是本地dev更新之后提交到库dev,然后有需要的话在本地进入到master分支,合并dev,gitpush到
库master

git branch -r 查看远程版本库的分支列表
git branch -a 查看所有分支列表(包括本地和远程,remotes/开头的表示远程分支)
git branch -v 查看一个分支的最后一次提交
git branch --merged  查看哪些分支已经合并到当前分支
git branch --no-merged 查看所有未合并工作的分支

git pull origin 远程分支名称:本地分支名称        从远程仓库pull(拉取)代码到本地分支
如果不写本地分支名称,则默认和远程分支同名 

git push origin :分支名称        删除远程分支

--------------------------------------------------------------------------------------------------------------
假如我们现在位于分支dev上,刚开发完自己负责的功能,执行了下列命令:
git  add .
git  commit -m '某某功能已完成,提交到[分支名称]分支'
git  push -u origin 分支名称

2、首先切换到master分支上
git checkout master

3、如果是多人开发的话,需要把远程master分支上的代码pull下来
git pull origin master

4、然后把dev分支的代码合并到master上
git merge 分支名称

 如果git merge的时候出现冲突,可以执行下面的命令取消merge:
git merge --abort:

5、然后查看状态
git status

6、最后一步,Push推送到远程仓库
git push origin master

--------------------------------------------------------------------------------------------------------------

另外有很多冷门命令,面试的时候可能会问:

branch管理

  • git checkout -b feat/sass-v1 origin/feat/sass-v1 // 克隆远端分支feat/sass-v1到本地
  • git checkout -b feat/saas-0817 // 从当前分支新建一个分支feat/saas-0817
  • git merge [branchName] 将branchName合并到当前分支
  • git merge [branchName] --squash 将branchName合并到当前分支,并将branchName上的所有提交合并成一次提交
  • git commit --amend 修改上次的提交信息,push后不会增加新的commit记录,但是会修改本次的commithash(也可以理解为删掉了最新的一次commit,重新又提交了一次)
  • git commit --amend
    // 修改commit msg

  • git branch -D [branchName] 删除本地分支
  • git push origin -D [branchName] 删除远端分支

 rebase branch

  • git pull --rebase origin [branchName] = git fetch + git rebase
// 假设当前分支dev, commit 为 a b c d e
// 假设master分支, commit 为 a b f g h
git pull --rebase origin master
// 当前分支dev commit 变为 a b c d e f g h
复制代码
  • git rebase master
// 假设当前分支dev, commit 为 a b c d e
// 假设master分支, commit 为 a b f g h
git rebase origin/master
// 当前分支dev commit 变为 a b f g h c d e

stash贮藏代码

  • 场景:当你的功能还没开发完不能commit但是现在需要rebase下master,缓存区的代码该咋办?当你写了几行代码,但是现在需要切到其他分支去改bug,缓存区的代码该咋办? 用git stash就好啦
  • git stash 贮藏代码
  • git stash pop 恢复到工作区和缓存区,会移除stashid
  • git stash list 查看当前贮藏区

注意:stash@{0} stash@{1} stash@{2} 是stashname

  • git stash apply stashname 恢复指定贮藏代码到工作区和缓存区,会保留stashid
  • git stash save 'msg' 带备注贮藏
  • git stash show -p 显示最新的贮藏文件具体改动
  • git stash show -p stashname 显示指定的贮藏文件具体改动

commit

  • git commit -m "msg" --no-verify 强制提交不检查
  • git push -f 强制提交代码并以本地版本代码为主覆盖远程 git push -f是不安全的,git push --force-with-lease更安全,注意--force-with-lease失败后再执行一次也会强制提交覆盖

reset回退

  • git log 查看提交日志
  • git reset 将所有暂存区回退到工作区
  • git checkout . 丢弃工作区所有的更改
  • git reset --hard [commit hash] 将从commithash(不包括此hash)之后的丢弃
  • git reset --hard 将暂存区、工作区所有内容丢弃
  • git reset --soft [commit hash] 将从commithash(不包括此hash)之后的提交回退到暂存区
  • git reset --soft HEAD~4 回退最近4次提交到暂存区

cherry-pick 复制提交

  • 场景:当你在merge或者rebase的时候发现冲突太多了,想哭的时候,可以用原分支check目标分支处理,然后再cherry-pick当前分支的每个提交,这样冲突就会少很多。或者另一分支上有些代码还没有merge到master,但是你当前分支又非要用的时候,就可以cherry-pick过来一份。
  • git cherry-pick [commit hash] 将其他分支上已提交的commit在当前分支再提交一次,产生新的commithash

revert

  • git revert [commit hash] 非merge的commit
  • git revert -m [1|2] [commit hash] merge类型的commit
    • 通过git show [commit hash]查看

- 第三行第一个hash为编号1,第二个hash为编号2,以哪个父hash为主线则保留哪个,删除另一个
复制代码

- git revert -m 1 bd86846 则回滚bd86846的提交,且以ba25a9d master分支为主线保留,回滚掉1c7036f 所在分支提交

rebase -i

  • 场景:使用merge导致git提交线乱七八糟,提交日志过多非常难看。自从使用了rebase提交线变得无比丝滑,使用rebase -i合并每个需求的所有提交成1个,使日志变得清晰

  • git rebase -i HEAD~10 调整最近10次提交的日志、或合并多次提交为1次,让log更好看更清晰

p使用, pick = use commit

s合并掉, squash = use commit, but meld into previous commit

所有的提交按时间倒序排列

被s的会合并到上一次commit,也就是当前排列的上一个里面

scope

feat: 新功能、新特性

fix: 修改 bug

perf: 更改代码,以提高性能(在不影响代码内部行为的前提下,对程序性能进行优化)

refactor: 代码重构(重构,在不影响代码内部行为、功能下的代码修改)

docs: 文档修改

style: 代码格式修改, 注意不是 css 修改(例如分号修改)

test: 测试用例新增、修改

build: 影响项目构建或依赖项修改

revert: 恢复上一次提交

ci: 持续集成相关文件修改

chore: 其他修改(不在上述类型中的修改)

release: 发布新版本

workflow: 工作流相关文件修改

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python Git常用命令大全: Git是现代化的版本控制系统,常被用于软件开发,协作和管理。它允许在开发过程中创建和管理不同的版本,跟踪文件的更改,以及支持团队合作。Python则是一种广泛应用于开发Web应用程序以及数据科学和人工智能领域的高级编程语言。在使用Git时,Python的代码可以与Git进行集成。这里是Python Git常用命令的大全: 1. git init:初始化一个新的 Git 仓库。 2. git clone:从现有的 Git 仓库克隆项目,可以是本地仓库或远端仓库。 3. git add:将文件添加到 Git 仓库中。git add . 可以添加所有更改。 4. git commit:将所有已添加的文件提交到本地 Git 仓库中。 5. git status:查看当前工作目录中 Git 仓库的状态。 6. git log:查看提交记录。 7. git push:将本地 Git 仓库的更改推送到远端仓库。 8. git pull:将远端 Git 仓库的更改拉到本地仓库。 9. git branch:创建新的分支。 10. git checkout:切换分支。 11. git merge:将一个分支的更改合并到另一个分支。 12. git revert:撤销一个提交。 13. git rebase:将一个分支的修改合并到当前分支。 14. git config:配置 Git。 15. git remote:管理远端仓库。 这是Python Git常用命令的大部分命令,但这并不是全部。在使用Git和Python时,这些命令应该是最为重要的。无论是在个人项目中还是团队合作中,这些命令会让你更加高效地使用Git,并保护你的代码免遭不可挽回地灾难。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值