git常用命令

工作区+暂存区+本地版本库
在这里插入图片描述

git创建项目仓库

git init 初始化
git remote add origin url 关联远程仓库
git fetch origin 获取下载远程仓库中所有的分支到本地仓库
git merge origin/master 合并代码
git pull origin master = 上面两步骤
#或者
git clone url ==前面几步
git remote add upstream url #关联远程上游仓库
git fetch upstream #从上游获取代码
git fetch origin#从自己的origin获取代码
git merge upstream/master或者其他分支  #这里写某个分支名称    //合并上游某个分支和本地的代码

git checkout -b 分支 origin/分支  #从远程origin获取分支到本地	

git status #查看当前工作区状态,以及修改,接下来应该做什么
git diff #查看有哪些修改 
git add . //把本地的修改加到stage(暂存区)中
git commit -m '#XTR-12321#  some modify' //把stage中的修改提交到本地库
git commit --amend //如果提交的comment注释错了,可以使用这个命令修改,就像vim命令一样编辑 
git push //把本地库的修改提交到远程库中
git diff //查看当前没有add的内容
git diff --cache //查看已经add但是没有commit的内容
git diff HEAD //上面两个内容的合并

分支操作:

git branch 创建分支
git branch -b 创建并切换到新建的分支上
git checkout 切换分支
git branch 查看分支列表
git branch -v 查看所有分支的最后一次操作
git branch -vv 查看当前分支
git brabch -b 分支名 origin/分支名 创建远程分支到本地
git branch --merged 查看别的分支和当前分支合并过的分支
git branch --no-merged 查看未与当前分支合并的分支
git branch -d 分支名 删除本地分支
git branch -D 分支名 强行删除分支
git branch origin :分支名 删除远处仓库分支
git merge 分支名 合并分支到当前分支上
git checkout -b 分支 origin/分支  //从远程origin获取分支到本地
git checkout -b 分支 upstream/分支  //从远程upstream获取分支到本地

暂存操作

git stash 暂存当前修改
git stash apply 恢复最近的一次暂存
git stash pop 恢复暂存并删除暂存记录
git stash list 查看暂存列表
git stash drop 暂存名(例:stash@{0}) 移除某次暂存
git stash clear 清除暂存

回退操作

git reset --hard HEAD^ 回退到上一个版本
git reset --hard ahdhs1(commit_id) 回退到某个版本
git checkout -- file撤销修改的文件(如果文件加入到了暂存区,则回退到暂存区的,如果文件加入到了版本库,则还原至加入版本库之后的状态)
git reset HEAD file 撤回暂存区的文件修改到工作区

标签操作

git tag 标签名 添加标签(默认对当前版本)
git tag 标签名 commit_id 对某一提交记录打标签
git tag -a 标签名 -m '描述' 创建新标签并增加备注
git tag 列出所有标签列表
git show 标签名 查看标签信息
git tag -d 标签名 删除本地标签
git push origin 标签名 推送标签到远程仓库
git push origin --tags 推送所有标签到远程仓库
git push origin :refs/tags/标签名 从远程仓库中删除标签

常规操作

git push origin test 推送本地分支到远程仓库
git rm -r --cached 文件/文件夹名字 取消文件被版本控制
git reflog 获取执行过的命令
git log --graph 查看分支合并图
git merge --no-ff -m '合并描述' 分支名 不使用Fast forward方式合并,采用这种方式合并可以看到合并记录
git check-ignore -v 文件名 查看忽略规则
git add -f 文件名 强制将文件提交

忽略已加入到版本库中的文件

git update-index --assume-unchanged file 忽略单个文件
git rm -r --cached 文件/文件夹名字 (. 忽略全部文件)

取消忽略文件

git update-index --no-assume-unchanged file

拉取、上传免密码

git config --global credential.helper store

git常用命令:

git init //初始化本地git环境
git clone XXX//克隆一份代码到本地仓库
git pull //把远程库的代码更新到工作台
git pull --rebase origin master //强制把远程库的代码跟新到当前分支上面
git fetch //把远程库的代码更新到本地库
git add . //把本地的修改加到stage(暂存区)中
git commit -m 'comments here' //把stage中的修改提交到本地库
git push //把本地库的修改提交到远程库中
## checkout  是在工作台切换某个分支
git branch -r/-a //查看远程分支/全部分支
git checkout master/branch //切换到某个分支
git checkout -b test //新建test分支
git checkout -d test //删除test分支
git checkout --patch 分支 fileName  //获取本地分支上(或者远程的分支)的文件补丁到该分支,如果有不同会让确认是否接收这个不同
git merge master //假设当前在test分支上面,把master分支上的修改同步到test分支上
git merge tool //调用merge工具
git stash //把未完成的修改缓存到栈容器中
git stash list //查看所有的缓存
git stash pop //恢复本地分支到缓存状态
git blame someFile //查看某个文件的每一行的修改记录()谁在什么时候修改的)
git status //查看当前分支有哪些修改
git log //查看当前分支上面的日志信息
git diff //查看当前没有add的内容
git diff --cache //查看已经add但是没有commit的内容
git diff HEAD //上面两个内容的合并
git reset --hard HEAD //撤销本地修改
echo $HOME //查看git config的HOME路径
export $HOME=/c/gitconfig //配置git config的HOME路径
git remote add upstream url //添加上游远程主干仓库
git fetch upstream //从上游获取代码
git merge upstream/master或者其他分支  这里写某个分支名称    //合并上游某个分支和本地的代码

团队协作git操作流程:

克隆一个全新的项目,完成新功能并且提交:
git clone XXX //克隆代码库
git checkout -b test //新建分支
modify some files //完成修改
git add . //把修改加入stage中
git commit -m '' //提交修改到test分支
review代码
git checkout master //切换到master分支
git pull //更新代码
git checkout test //切换到test分支
git meger master //把master分支的代码merge到test分支
git push origin 分支名//把test分支的代码push到远程库
目前正在test分支上面开发某个功能,但是没有完成。突然一个紧急的bug需要处理
git add .
git stash
git checkout bugFixBranch
git pull --rebase origin master
fix the bug
git add .
git commit -m ''
git push
git checkout test
git stash pop
continue new feature's development 

git撤销操作

已修改 未暂存

已经修改了文件,还未进行git add
即工作区的内容不想要了。

恢复方法
使用以下任意命令

git checkout .
git checkout  -- <FILENAME>
git reset --hard

已暂存 未提交

已经进行了git add,还未进行git commit
即暂存区的内容不想要了

恢复方法
使用以下任意命令

git reset
git checkout .
git reset --hard
git reset HEAD
git reset HEAD -- <FILENAME>

已提交 未推送

已经进行了git commit,还未进行git push

恢复方法
使用远程仓库覆盖本地仓库

git reset --hard origin/master

已推送

已经进行了git push

恢复方法
回滚本地仓库,强制推送覆盖远程仓库

git reset --hard HEAD^
git push -f

其他情况

丢弃某个节点后的全部提交
即HEAD指针指向该节点

git reset --hard <COMMITID>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值