Git 常用命令

1,查看历史提交

①log查看

git log --pretty=oneline:查看Git版本提交信息
git log -p 查看指定文件的提交历史
git reflog 查看仓库的操作历史
git log --stat 查看本地仓库提交到远程仓库的记录 加 -数字 查询前几条

②diff使用 已add未commit

git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别 git diff filename 如果文件修改了,还没有提交,就可以比较文件修改前后的差异
git diff --staged 暂存与仓库的差异【add之后,commit之前】

2,git diff --stat master origin/master 查看本地仓库与远程文件

③ show 查看已commit 未push的差别

git log 查看所有的commit提交记录
git show 查看提交的详情
首先,需要通过git log打印所有commit记录,例如, 之后的git show都是基于commit hashID输出的。
1.查看最新的commit
git show
2.查看指定commit hashID的所有修改:
git show commitId
3.查看某次commit中具体某个文件的修改:
git show commitId fileName

2, fetch 和 pull

git fetch orgin master //将远程仓库的master分支下载到本地当前branch中
git log -p master …origin/master //比较本地的master分支和origin/master分支的差别
git merge origin/master //进行合并
git pull origin master //相当于git fetch 和 git merge

④ add–> commit, commit–>push的所有文件

add --> commit 已add未commit , git status
commit–>push 已commit未push, git show 或 git show commitId (id通过git log获取)

3, 撤销文件的修改记录

①没有添加到暂存区

git checkout – file 撤销单个文件工作空间的修改记录 例子:git checkout – remead.md
git checkout . 撤销本地所有文件的修改记录

②添加暂存区,没有提交

git reset HEAD filename 从暂存区里撤到本地,在进行第一种情况的操作
git reset 从暂存区里把所有文件,撤回到本地

git reset --hard HEAD 版本号 回滚到指定版本
git reset --hard HEAD 撤消工作目录中所有未提交文件的修改内容

③已commit 未push

git reset --hard 提交id 撤销第六次 commit 工作空间的代码的改动就没啦
git reset --soft HEAD^ 保留工作空间的代码只是撤销commit, HEAD^的意思是上一个版本,也可以写成HEAD~1

git show commit-hashId 查看提交文件修改信息
git show filename 可以显示某次提交的某个内容的修改信息

4,删除文件

git rm test.txt
git commit -m “remove test.txt”

将add、commit、push 三个命令合为一个:
git config --global alias.cmp ‘!f() { git add -A && git commit -m “$@” && git push; }; f’

5,分支操作

git branch 列出所有本地分支
git branch -r 列出所有远程分支
git checkout 或者git switch ` 切换分支:
git checkout -b 分支名 创建分支并切换到创建的分支

6,远程提交

git remote -v 查看当前remote

git push origin branch-name`

git remote set-url origin git@xxxx http协议切换到ssh协议 提交代码需要
推送到远程仓库

7, 更新代码

git fetch 更新代码 git merge 合并代码 推荐使用这个组合
git pull 更新代码并合并

8,创建版本库

git clone 克隆远程版本库
git init 初始化本地版本库
git remote add origin url 与远程仓库建立关联
git status 查看状态

创建分支

git checkout -b 本地分支名 origin/dev…(远程要拉取的分支)

从tag拉分支

1.通过:git branch 会根据tag创建新的分支.
例如:git branch newbranch v1.0 . 会以tag v1.0创建新的分支newbranch;
2.可以通过git checkout newbranch 切换到新的分支.
3.通过 git push origin newbranch 把本地创建的分支提交到远程仓库.

tag和branch

tag 对应某次 commit, 是一个点,是不可移动的。对应一个commitId (不能直接提交)
branch 对应一系列 commit,是很多点连成的一根线,有一个HEAD 指针,是可以依靠 HEAD 指针移动的。
所以,两者的区别决定了使用方式,改动代码用 branch ,不改动只查看用 tag

回滚远程分支代码到指定commitid

– 本地分支回滚到指定版本
git reset --hard <commit ID号>
– 强制推送到远程分支
git push -f origin < branch name>

git rebase

pick :不做任何修改;
reword:只修改提交注释信息;
edit:修改提交的文件,做增补提交;
squash:将该条提交合并到上一条提交,提交注释也一并合并;
fixup:将该条提交合并到上一条提交,废弃该条提交的注释;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值