GIT 常用命令

/

一、环境:

ssh-keygen -t rsa -C "wang.zhongling@zte.com.cn" 生成本地秘钥(邮箱换成自己的邮箱)

使用cat ~/.ssh/id_rsa.pub查看秘钥

git config --global user.name "wangxiaoer"

git config --global wangxiaoer@qq.com

二、常用命令

2.1回滚:

git reset --hard。删除工作区的代码(所有分支的未commit的都被删除,不只当前分支),撤销commit,撤销git add . 回到上一次commit的状态,但是注意,其他分支的代码,没commit 得也会被删除

git reset --hard 版本号

git reset --hard HEAD~3 # 回退上上上一个版本

git reset --hard HEAD^ //回到上一个版本

git reset --hard bae128 # 回退到某个版本回退点之前的所有信息。
git reset --hard origin/master # 将本地的状态回退到和远程的一样 master分支一样

git reset --hard origin

git回退到某个commit,并且撤回更改

git reset --hard HEAD^ 回退到上个版本

git reset --hard HEAD~3 回退到前3次提交之前

git reset --hard commit_id 退到/进到 指定的commit

git push origin HEAD -- force 强退至远程

git回退到某个commit
要撤回最后一次的commit,但保留对文件的更改,可以使用:
git reset --soft HEAD^

如果要撤回commit并且撤回对文件的更改(慎用,这会丢失最后一次提交后的所有更改),可以使用:
git reset --hard HEAD^

如果需要撤回特定的一个commit,但保留更改,可以使用:

git reset --soft <commit_hash>^

git reset --soft 26ac37448c193c2a4b667c5e4123f3f5613895c9

使用git reset命令撤销add命令:

当我们执行了git add命令将文件添加到暂存区后,如果发现添加的文件有误,可以使用git reset命令将文件从暂存区移除,恢复到上一次commit的状态。

命令格式:git reset HEAD

示例:

git reset HEAD file.txt

2.2git commit --amend 修改commit信息

然后git push

git撤销:

1.git reset --soft 版本号

git reset --soft HEAD^ //回到上一个版本(撤销commit,不撤销git add )------ git reset HEAD 文件名

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

2.git reset --mixed 版本号

git reset --mixed HEAD^ //回到上一个版本

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

3.git reset --hard 版本号

git reset --hard HEAD^ //回到上一个版本

删除工作区的代码,撤销commit,撤销git add . 回到上一次commit的状态

4.git reset HEAD 撤销add区所有文件

git stash apply stash@{2}

git push origin HEAD:refs/drafts/

git push origin HEAD:refs/for/master

三流程

2、git stash---------保存本地修改代码

$ git stash

3、git pull -r--------拉取远端最新代码

$ git pull -r

Current branch master is up to date.

4、git stash pop----------恢复步骤2本地代码改动

$ git stash pop

On branch master

Your branch is up to date with 'origin/master'.

Changes to be committed:

(use "git reset HEAD <file>..." to unstage)

4、git status-------查看本地与master有哪些差异

00283350@A25376390 MINGW64 /e/Git_Push/aurotest (master)

$ git status

5、git diff MAINDEV/UTC/pylib/keywords/testcases.py----查看是否为本次要合入的改动点

注:双击需要合入的文件全称,即可复制该文件名(包括后缀)。

00283350@A25376390 MINGW64 /e/Git_Push/aurotest (master)

$ git diff MAINDEV/UTC/pylib/keywords/testcases.py

6、git add MAINDEV/UTC/pylib/keywords/testcases.py-----将要合入代码,添加到待commit列表,文件名中若包含中文需使用\进行转义

00283350@A25376390 MINGW64 /e/Git_Push/aurotest (master)

$ git add MAINDEV/UTC/pylib/keywords/testcases.py

7、查看待commit列表(绿色字体),确认与自己想合入内容一致

$ git status

7、git commit -m "合入信息需符合规范"----------合入信息需符合规范

9、commit成功后,push代码至主分支

相关推荐
誰能久伴不乏3 小时前
看懂 Git 团队协作全流程:分支、提交、PR、rebase 到底在干嘛
git
sunshine22 girl8 小时前
git tag-项目流程
git
imDwAaY1 天前
6篇文章讲清楚Git:Git 远程协作:fetch、pull、push 到底有什么区别?(3/6)
git·后端
imDwAaY1 天前
6篇文章讲清楚Git:Git 撤销与恢复:reset、revert、restore 应该怎么选?(4/6)
git
用户73309646123091 天前
再也不怕手滑丢代码!给 git 高危操作加一层安全校验
git
广白1 天前
Git Tag 实战:从出包追溯到版本发布
前端·git·面试
Winlifes6 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理7 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123457 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s7 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git