常用git命令

版本回退

git reset --soft [版本号]回退后,代码改动在本地保存的还有
git reset --hard [版本号]删除本地改动,彻底抹去该版本的痕迹
git reset HEAD^撤销最近一次的提交,这会将HEAD指针移动到上一个commit,并将文件恢复到该commit未提交状态
git reset [版本号]撤回当前提交号之后的所有提交, 就会把回滚掉的改动变成未提交状态,如果不需要可以直接删除掉,需要的话也可以add之后重新commit,最后git push -f强制提交远端仓库,把commit覆盖掉即可

克隆

git clone [远程仓库地址]克隆整个仓库到本地
git clone -b [分支名] [ssh公钥]克隆某个分支到本地

拉取

git pull
git checkout -b [本地分支m] origin/[远程分支m]基于远程分支m创建一个本地分支m,并使二者关联起来
git fetch origin [远程分支]:[本地分支]
git pull [远程仓库] [远程分支]拉取远程的某个分支来更新当前分支

提交

git commit -m 'xxx'
git commit --amend -m "xxx"修改最近一次提交的提交信息,如果已经推送了更改,修改提交信息后,需要强制推送更改

推送

将本地分支推送到远程分支并建立关联

git push -u origin [本地分支]:[远程分支]如果本地分支与远程分支名称不同
git push -u origin [本地分支]如果本地分支与远程分支名称相同
git push origin HEAD:[远程分支]本地分支推送到远程分支,但当前分支的远程分支和本地分支名不匹配
git push -f强推

暂存

git stash将当前分支的改动保存到一个临时区域,然后可以切换到其他分支
git stash apply将之前保存的改动应用到当前分支上,但不会删除保存的stash,这意味着可以多次应用同一个stash,或者在引用stash之后手动删除它
git stash pop将保存的改动应用到当前分支,但是它会删除保存的stash,这 意味着只能应用一次stash
git stash list查看所有保存的stash
git stash show [stash@{0}]查看某个stash保存的具体改动
git stash clear删除所有保存的stash
git stash drop [stash@{0}]删除某个指定的stash

cherry-pick

git cherry-pick 教程 - 阮一峰的网络日志

git cherry-pick <commitHash>将指定的提交应用到当前分支,这会在当前分支产生一个新的提交,因此哈希值是不一样的
git cherry-pick -n <commit>将一个 commit 复制到当前分支,并禁用自动提交,可以手动调整提交
git cherry-pick <HashA> <HashB>将A和B两个提交应用到当前分支
git cherry-pick A..B将A到B所有的提交复制到当前分支,提交A必须早于提交B,否则命令将失败,但不会报错,注意:这样写将不包含提交A
git cherry-pick A^..B将A到B所有的提交复制到当前分支,包含提交A

合并

git merge当你在目标分支上运行 `git merge` 命令时,如果Git能够自动合并分支,并且没有出现冲突,它会在目标分支上产生一个新的合并提交。这个合并提交会将源分支的更改合并到目标分支上
git merge --no-ff <源分支名>

如果Git能够进行"快进"合并(fast-forward merge),也就是说目标分支的指针可以直接移动到源分支的最新提交,而不需要创建新的合并提交。在这种情况下,不会在目标分支上产生一个新的合并提交

如果你希望强制进行一次合并提交,即使可以进行快进合并,你可以使用 `--no-ff` 选项,它会强制Git创建一个新的合并提交

其他常用命令

git add .添加到暂存区
git branch -vv查看本地分支与远程分支的关联关系
git status检查文件状态

git remote update origin --prune

git remote update origin -p

更新远程分支列表
git branch -m [feature-branch] [new-feature-branch]

分支重命名

本地分支重命名,如果需要修改对应远程分支名,那就删除远程分支,然后git push -u origin <local_branch_name>将本地分支重新推到远程

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值