git常用命令小结

  1. 拉取最新数据
 git pull
  1. 列出所有分支
git branch #本地
git branch -a #所有,包括本地和远程
  1. 切换到远程分支remote_branch
git checkout remotes/origin/remote_branch 
  1. 切换到本地分支local_branch
git checkout local_branch 
  1. 添加修改文件到缓存区
git add . 
  1. 添加说明
git commit -m “说明“ 
  1. 提交
git push #提交到master
git push origin remote_branch #提交到remote_branch
  1. 查看缓存区状态
git status
  1. 删除分支

删除本地分支:

git branch -d to_delete #若未merge过则-d为-D

删除远程分支:

git push origin --delete remote_branch_to_delete
  1. 新建分支new_branch_name并切换
git checkout -b new_branch_name
git push --set-upstream origin new_branch_name#上传至远程branch,set-upstream是因为checkout后远端还未生成branch
  1. 合并分支
git merge xxx
#情形1:当dev分支上的代码达到上线标准后,需合并到master分支
git checkout dev
git pull #拉取dev分支最新数据
git checkout master#切回到master分支
git merge dev
git push -u origin master
#情形2:master分支代码的改动需要更新到dev分支上
git checkout master 
git pull 
git checkout dev
git merge master 
git push -u origin dev
`git merge`遇到冲突时,需要解决冲突,完成合并后采用`git add` 进行标记、`git commit`批注和`git push`提交。
  1. 放弃合并分支
git log  #查看后退对应版本
git reset --hard 版本号 #回退到版本号的版本
git push origin remote_branch --force #强制更新
  1. 清空暂存区
  • 还没有add和commit操作的情况下:
git checkout .

上述命令只能清空修改的代码部分,但对于新建的文件/文件夹是无法清空的,需结合下面这条命令来清空:

git clean -d
  • 在已经进行过add操作的情况下,用以下命令重置:
git reset .
  1. 查看日志
git log  #查看版本信息
git whatchanged #查看每次修改的文件列表
  1. 同步远程分支修改情况(如删除)

当远程删除某分支后,本地还能看到,可以使用下述命令删除远程已经不存在的分支。

git remote prune origin
  1. 子模块更新拉取
git submodule init
git submodule update

#或者二合一:
git submodule update --init --recursive
  1. 子模块更新提交
git add 子模块文件夹
git commit -m "update submodule"
git push
  1. 打标签并推送到远程
git tag -a v1.0 -m "first version"
git push origin v1.0
  1. 合并连续的提交记录:

暂存工作区:

git stash 

选择需要合并的记录,注意commit_hash是所要合并的commits外的最近的那次提交号:

git rebase -i commit_hash  

如果远程仓库已有之前的commit,则需要使用–force 强制提交更新远程:

git push --force

弹出暂存内容:

git stash pop 
  1. 查看文件修改详细记录:
git log -p filename 
  1. 合并某分支的某次提交内容到当前分支:

注:同一仓库下所有的commit_hashcode具有唯一性,所以无需指定其他内容

git cherry-pick commit_hashcode
  1. 推送本地基于公开仓库的修改到克隆出的私有仓库中:
git remote set-url origin https://github.com/username/test.git
git add .
git commit -m "xxx"
git push
  1. 删除子模块
git submodule deinit submodule_name
git rm --cached submodule_name 
git commit -am "Remove a submodule {submodule_name}" 

在这里插入图片描述

参考资料:
[1] Git - Book
[2] git submodule的简单介绍
[3] Git - 打标签
[4] git 几个commit点合并成一个commit点_云原生手记的博客-CSDN博客_git 合并commit
[5] GIT 合并某几条 commit_panfengzjz的博客-CSDN博客_git 合并某几个commit
[6] git stash详解_淹不死的水的博客-CSDN博客_git stash
[7] Git远程仓库地址变更本地如何修改_晨之风的博客-CSDN博客_git 修改远程地址
[8] [Git] 如何优雅的删除子模块(submodule)或修改Submodule URL - 简书

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TracelessLe

❀点个赞加个关注再走吧❀

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值