git 操作命令总结

首先感谢廖雪峰老师的细心讲解Git教程 - 廖雪峰的官方网站

本文只是自己的学习后的总结,没什么逻辑可言。

执行完commit后,想撤回commit,怎么办?

git reset --soft HEAD^

这样就成功的撤销了你的commit

注意,仅仅是撤回commit操作,您写的代码仍然保留。

至于这几个参数:

--mixed 

意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作

这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

--soft  

不删除工作空间改动代码,撤销commit,不撤销git add . 

--hard

删除工作空间改动代码,撤销commit,撤销git add . 

注意完成这个操作后,就恢复到了上一次的commit状态。

顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:

git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了

说一下个人理解:

HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

git add 文件名 

##把文件从工作区添加到暂存区,注意git add . 表示把工作区全部内容添加到暂存区

git commit -m "备注信息"

##把暂存区的内容提交到仓库分支上

git status 

##查看仓库状态

git diff 文件名

##对比文件与分支上最新版本文件

git diff 版本ID --文件名

##对比文件与分支上指定版本文件

git log

##查看日志

git log --pretty=oneline

##查看日志,把每条日志合并为一行

git reset --hard head^

##回退到前一个版本,注意^在windows里是特殊字符,需要加引号 git reset --hard head"^"

##这个--hard表示即回退本地文件,也回退commit信息,有兴趣的可以研究下reset的三种方式

git reset --hard head~数字

##回退到此前第X个版本

git reset --hard head 版本ID 

##回退到指定版本,  版本id是每次commit时生成的,可在git log中查看

git reflog

##查看每个版本的操作日志

git checkout --文件名

##撤销工作区对某文件的修改

git reset 版本ID 文件名

##撤销暂存区对文件的修改

git clone 仓库地址 [别名]

##克隆仓库到本地,默认与仓库名称一致,可以指定本地的名称

git branch 

##查看分支列表

git branch 分支名

##新建分支

git branch -d 分支名

##删除分支

git branch -D 分支名

##强制删除分支,主要应用场景:分支已经提交了,再merge到主分支前决定不要了,就强制删除。(很少用)

git checkout -b 分支名

##新建并切换到分支,也可以写:git switch -c 分支

git checkout 分支名

##切换到分支,也可以写:git switch 分支名

git merge 分支

##把分支合并到当前分支

git log --graph --pretty=oneline --abbrev-commit

##查看各分支提交日志

git stash

##保存现场,当前工作区没有开发完,又来一个优先级高的任务,此时工作区代码不能提交,又不舍得删除,就用git stash,把工作区内容先装到一个存储罐内,等新任务完成了,再从罐里掏出来。执行git stash后,工作区就被还原到上次commit之后的状态了。

git stash pop

##还原现场,新任务完成,从存储罐里掏出原来工作区修改的内容,并且此时把罐里的临时文件给删除了

git stash apply

git stash drop

##这俩也是还原现场,apply表示还原现场,drop表示删除罐里的临时文件

git stash list

##查看存储罐里的临时文件

git cherry-pick 版本ID

##如果发现历史中某次提交的内容与本次修改内容一样,可以直接把该次提交拿过来并自动合并到当前分支上,注意在此之前应先把工作区的修改提交了

git push origin 分支名

##把本地项目推送到远程的分支上

git pull 

## 从远程分支拉取代码

git checkout -b 分支名 origin/分支名

##创建一个与远程相同的分支,通常两个分支名相同,如果pull时提示没有建立链接,执行下面命令

git branch --set-upstream 分支名 origin/分支名

git tag 标签名  [版本ID]

##打标签,默认是最新版本,也可以指定提交的ID号

git tag -a 标签名 -m "描述"  版本ID

##添加描述

git  show 标签名

##查看标签信息

git tag 

##查看所有标签

git push origin 标签名

##推送标签到远程

git push origin --tags

##推送所有的标签到远程

git tag -d 标签名

##删除本地标签

git push origin:refs/tags/标签名

##删除远程标签

git config --global alias.别名  原指令或"原指令组合"

##配置指令别名,这个很nb,可以自己百度下常用的别名

git config -l

##查看本地git的配置项

下面讲一下搭建本地git仓库和远程库

1.远程库

前提:你已经再github上注册了一个账户,登录成功,并且本地已经安装过git了(没有装的自己百度就行,满网都是)

a. 点击右上角个人头像,在出现的菜单中找“setting”,点击“setting”,在新页面的菜单中找“SSH***”开头的菜单(目前叫SSH and GPG keys,之前叫这个,不知道以后改不改),然后右面点“new SSH key”,出现俩字段的表单,title自己随意起,key很重要,先留着往下看。

b.在本地自己喜欢的 目录下“右键”--“git bash”,然后在打开的命令行中执行'ssh-key-gen -t rsa -C "自己的邮箱地址"'(这个邮箱跟github没关系,写自己的哪一个都行,当然写别人的也无所谓),回车,会让给密钥起个名字(建议id_rsa_自己github用户名),然后一路回车(不用设置密码),这就完成了,在当前目录下有俩文件生成,".pub"结尾的是公钥,另一个是私钥,选中公钥文件,用记事本打开,全选,复制,粘贴到a中提到key字段的表单中,点击ADD SSH KEY。至此,自己电脑就有权限操作github上的远程库了。那个放密钥的文件夹是可以移动的(不用不敢碰,我试了,你也可以删除了试试,来告诉我啥后果)。

c.接下来就是github上新建个资源库:还是右上角,点击头像旁边的“+”,出现的菜单中点击“new repository”,新出现的表单中,输入个名字,描述想输就输,其他默认,点确定,就ok了。远程库建完了。

2.本地仓库

前提:安装过git了哈

a.找个目录,新建个文件夹,文件夹名即为本地仓库名

b.两种方式:一是直接从远程库clone,上面有clone的命令,clone完成本地库就创建完了,也与远程库建立了联系,没啥好讲的了;主要是第二种:先建本地仓库,再与远程仓库建立联系,下面步骤都是基于第二种的哈。

c.打开cmd窗口,切换到仓库目录下,执行“git init”,本地库就创建完成了。

d.接着执行“git remote add origin https://github.com/github用户名/github仓库名.git”,此时本地库与远程库建立了联系。

e.接着执行(其实是第一次推送时执行,不是非要马上接着上面执行)“git push -u origin master”,这一步是把本地库的内容推送到远程库上,-u让两个库以后可以相互交流,pull/push 都不用再加-u了。

到此就完事了,本地库无论哪种方式创建完成时,文件夹内会出现".git"文件夹。

补充个问题,对文件名进行大小写切换时,git默认是检查不到的,在git bash中执行这句命令即可。

git config core.ignorecase false

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
常用的git命令操作包括: 1. git init:初始化一个新的git仓库。 2. git add [file]:将文件添加到暂存区。 3. git commit -m "message":提交暂存区的文件到版本库,并附带一条提交信息。 4. git status:查看工作区文件的状态。 5. git log:查看提交历史记录。 6. git diff:查看当前文件和最新提交之间的差异。 7. git branch:查看所有分支,包括当前所在分支。 8. git checkout [branch]:切换到指定分支。 9. git merge [branch]:将指定分支的更改合并到当前分支。 10. git push [remote-name] [branch-name]:将本地分支推送到远程仓库。 11. git pull [remote-name] [branch-name]:从远程仓库获取并合并最新的更改。 12. git clone [repository]:克隆远程仓库到本地。 请注意,具体命令的使用可能会根据实际情况有所变化,如指定远程仓库名称、分支名称等。以上只是git常用命令的简要介绍,更多详细的命令和操作可以通过git文档或在线教程进行学习和参考。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Git的常用操作命令汇总](https://blog.csdn.net/qq_38628046/article/details/125346546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [常用git命令总结大全](https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/79054792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值