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代码至主分支

相关推荐
华科大胡子1 小时前
Git二分法定位Bug
git
m0_579146653 小时前
Git暂存区操作与版本回退
git
三毛的二哥3 小时前
git:git worktree多任务并行开发
git
Yiyi_Coding3 小时前
Git 版本管理重要撤回操作
git
a里啊里啊3 小时前
Git常问面试题
git
达子6663 小时前
Git中文文件名乱码显示SHA-1 哈希值
git·算法·哈希算法
摆烂且佛系1 天前
十分钟了解Git Cherry-Pick
git
星渊澈1 天前
从github上git clone 比较慢,如何解决。。
git·github
魔都吴所谓1 天前
【Ubuntu】离线环境下Git LFS(deb包)安装与验证完整教程
linux·git·ubuntu
REDcker1 天前
Git worktree:多工作区并行开发与实践
git·worktree