你瞅啥呢

2023-08-29 git命令学习【长期更新】

永久删除本地所有已暂存和未暂存的修改————适用于切换了多个分支且使用了git stash去暂存修改时发生的需要合并才能切换分支的场景

git reset --hard HEAD

此命令会将工作目录和暂存区重置为最近一次提交的状态,被删除的文件为永久删除,无法找回!!请三思后再使用。

 

初始化git:git init

 

查看当前仓库状态:git status

 

只查看本地分支名称:git branch

只查看远程分支名称:git branch -r

只查看本地所有分支信息:git branch -v

同时查看本地远程分支名称:git branch -a

(新建分支后,使用git branch或者git checkout为何查看/切换不了新建分支?==》拉取最新分支代码即可获取分支信息)

 

切换分支(例:test):git checkout test

创建新分支并切换到该新分支:git checkout -b <new branch name> [<existing branch name>]

例:git checkout -b tt 创建新分支tt并切换到tt分支,注意,如果没有指定[<existing branch name>],

即没有指定已存在的分支,那就会基于当前分支创建新分支!如上,便是基于当前分支创建的tt分支。

注意🔺:切换多个分支时,git尝试把本地文件和远程文件进行合并可能会出现合并冲突,这时候如果使用git stash无法放弃更改,还是提示你需要合并才能进行下一步操作,那么有两个方案:

方案一(操作稳妥,推荐使用):

1.获取远程仓库最新修改,此操作不会直接把远程仓库的文件覆盖本地文件

git fetch origin

2.将本地分支重置为远程仓库的最新状态,覆盖本地所有更改

git reset --hard origin/sit

方案二(不推荐,因为我执行了下面两行代码,还是提示我要解决冲突(也许是我不会用),请使用上面的方法):

1.丢弃所有未提交的本地更改,请确保你不再需要这些更改

git reset --hard

2.危险操作,会强制覆盖本地文件,可能会导致数据丢失,谨慎使用!

git pull --force

 

 

拉取代码:git pull

如果拉不到代码(比如在master分支删掉了index.html文件,切换到dev分支时却拉不到index.html文件的情况):

git fetch --all && git reset --hard origin/master && git pull

该命令作用是拉取远程仓库强制覆盖本地仓库👆

另外你还可以用下面方法来强制刷新本地缓存

git fetch origin
添加内容到暂存区:git add .
.表示添加当前目录下的所有文件到暂存区
git add readme.md 表示添加一个叫readme.md的文件,后面可以跟多个文件,即可上传多个文件

将暂存区内容提交到本地仓库:git commit

git commit -m [message] 
message为备注信息

将暂存区内容提交到远程仓库:git push

查看提交的历史记录:git log

 

查看标签:git tag

切换标签:git checkout 2.1.1.2

删除标签:git branch -d 2.1.1.2

强制删除标签:git branch -D 2.1.1.2

删除多个:git branch -D dev_0102 dev_1211

如果有绑定到什么分支,该强制删除可能会导致报错,git不会让你删除的

删除本地分支:git branch -d 分支名

删除本地分支:git push origin --delete 分支名

注意:删除本地分支时需要切换到其他分支才能删除目标分支,即目标分支不能是当前分支

删除后可使用git branch验证分支是否被删除,git branch -r则是查看远程分支列表

 

放弃本地的修改:git stash

恢复本地文件到最新提交的状态:git restore src/views/goods/ReleaseGood.vue 

 

合并代码

如果你要把你的分支dev合并到master,你需要切换到master,然后在终端执行合并:

// 注意,合并前先把你的需要合并的代码先提交到dev

git checkout master    切换到master

git pull 先拉取master最新代码,在团队开发时这是必须的操作

git merge dev    合并操作:把指定分支dev合并到当前分支master

git push    提交合并,如果你不提交,那么远程master就不会保存你的代码,git merge只是在本地合并

当你合并了代码,又不想要了,如何取消合并?(未提交)

1.先查询提交日志

git log --graph --decorate --oneline

找到你需要撤回的日志

2.执行撤回

git reset --hard a5a5b81 // 比如a5a5b81就是你要撤回的日志

当你合并了代码,又不想要了,如何取消合并?(已提交合并代码)

1.查询提交日志

git log

找到你需要撤回的日志

比如:

复制 commit 后面的长长的编码

2.使用git revert创建一个新请求来撤销合并

git revert  -m 1 长长的编码

3.提交新请求

git push

注意:如果有冲突需要先解决冲突然后再提交。

 

把指定文件回退到指定版本

比如你有一个文件提交了多次,但想要回退该版本到指定的版本,可以使用以下命令

git restore --source=版本编码 要回退的文件路径

例如:

git restore --source=609rdbf8 src/views/index.vue

而这个版本编码你可以通过git log查询

注意这是git 2.40版本以上的用法

 

最后附上git的官网下载地址:https://git-scm.com/downloads

更多学习资料请阅菜鸟教程:https://www.runoob.com/git/git-basic-operations.html

posted @   叶乘风  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示