代码管理:git 常用命令

虚像
• 阅读 2069

常用命令

文件夹操作

pwd                               // 查看当前目录
mkdir folder                      // 创建文件夹
rm folder                         // 删除文件夹
cd folder                         // 进入文件夹库
clear                             // 清空代码
cls                               // 清空代码

文件操作

echo >> file                      // 创建文件
rm file                           // 删除文件
cat file                          // 查看文件内容
git diff file                     // 查看文件修改的内容
git show commit-id                // 查看分支版本修改的内容
git clean -f                      // 删除未跟踪的文件
git clean -fd                     // 删除未跟踪的文件夹和文件

add 添加到暂存区

git add .                         // 修改、删除
git add -A                        // 修改、新增、删除、替换
git add -u                        // 修改、新增 

reset 文件撤销

// 撤销 本地
git checkout file                 // 撤销当前
git checkout .                    // 撤销所有

// 撤销 add
git reset HEAD file               // 撤销当前
git reset HEAD .                  // 撤销所有

// 撤销 commit
git reset --hard commit-id        // 不保留版本 回滚到某版本   
git reset --hard HEAD^            // 不保留版本 回滚到上一个版本
git reset --hard HEAD~100         // 不保留版本 回滚到上100个版本
git reset commit-id               // 保留版本 commit-id版本文件在本地

log 版本记录查看

git log                           // 查看 全部提交历史(当前版本的祖先版本)
git log --oneline                 // 查看 精简提交历史
git log show                      // 查看 最近更新记录
git log show commit_id            // 查看 某版本更新记录
git log --graph                   // 查看 分支删除信息
git reflog                        // 查看 全部版本(包括回滚后看不到的版本、误操作等)

tag 打标签

git tag                                    // 查看标签
git tag -a tag_name -m 'commit_text'    // 打标签 
git push origin --tags                    // 推送标签到远程仓库

branch 分支操作

// 创建分支
    git branch                        // 查看分支 *代表当前分支
    git branch dev                    // 创建分支
    git branch --set-upstream master  // 解决分支冲突

// 删除分支
    git branch -d dev                 // 删除分支
    git branch -D dev                 // 强行删除分支

// 切换分支
    git checkout dev                  // 切换分支
    git checkout -b dev               // 创建并切换分支
    git checkout -b dev origin/dev    // 创建并拉取远程dev分支并切换分支

merge 合并分支

    // 不生成一次commit记录,删除合并分支,当前分支会丢失合并分支信息(适合修复分支)
    git merge dev                     
    git merge dev --ff   

    // 生成一次commit记录,并保留dev分支全部commit版本(适合开发分支)
    git merge --no-ff -m 'xxx' v1.0.0-feature 

    // 生成一次commit记录(适合稳定分支/主分支)             
    git merge --squash -m 'xxx' v1.0.0-feature

代码管理:git 常用命令
代码管理:git 常用命令

其他命令

--rebase 本地提交后拉取出现弹出,需要Esc退出后输入:wq才能关闭

git pull --rebase                         // 忽略拉取合并的commit_id
git config --global pull.rebase true     // 全局设置,默认git pull 为git pull --rebase

git pull拉取仓库代码和本地代码冲突,即合并冲突 (master|REBASE 1/1)

1、先找到冲突文件,并手动解决冲突文件
2、然后在git add、git commit提交到本地
3、本地提交出现提示:我们选择 git rebase --continue 继续进行
    git rebase --abort // 取消合并
    git rebase --continue // 继续进行
4、 git push 提交本地代码到仓库

push 代码回滚

git reset --hard HEAD^              // 回退到上次提交
git push origin HEAD --force      // 强制推送当前这个版本到云端

stash 工作区隐藏

git stash                         // 将当前的工作现场隐藏起来
git stash list                    // 查看隐藏的工作现场
git stash apply                   // 恢复工作现场
git stash drop                    // 删除隐藏的一条工作现场记录
git stash pop                     // 恢复并删除

本地-暂存区-本地仓库-远程仓库

git status                        // 查看工作区增删查改记录
git add .                         // 工作区     →添加至→   暂存区
git commit -m 'text'              // 暂存区     →提交至→   本地仓库
git pull                          // 远程仓库   →拉取至→   本地
git push                          // 本地仓库   →提交至→   远程

远程仓库操作

// 克隆
git clone url                     // 克隆git-test项目

// 查看/关联
git remote                        // 查看远程库的信息
git remote -v                     // 查看远程库的详细信息
git remote add origin url         // 关联一个远程库

// 拉取
git pull                          // 拉取远程仓库的最新代码
git pull origin master            // 拉取成功 然后手动处理冲突

// 提交
git push                          // 提交本地代码到远程仓库
git push -f                       // 强制推送到远程分支
git push origin master            // 把本地master分支的最新修改推送到github上
git push -u origin master         // 把本地master分支和远程master分支关联起来
                                  // 并把本地master分支的最新修改推送到github上

前期准备

// 注册github账号
// 地址:https://github.com/

// 配置密匙
// 地址:https://jingyan.baidu.com/article/414eccf6a330926b431f0ac6.html

// 创建仓库git-test
// git/https 切换到git模式(避免每次重复密匙验证)

// 确保已经安装git bash,并打开   

创建本地仓库

// 在本地创建文件夹
mkdir git-test
// 复制代码,如以下示例,粘贴到git bash运行
echo "# git-test" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:webjimmylau/git-test.git
git push -u origin master

创建分支

// 最好统一先在github上创建分支
// 然后才在本地git pull分支

ps:欢迎指出问题或补充。。

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
4年前
SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)
首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
4年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Easter79 Easter79
4年前
SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)
首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模
Stella981 Stella981
4年前
Python time模块 返回格式化时间
常用命令  strftimetime.strftime("%Y%m%d%H:%M:%S",formattime)第二个参数为可选参数,不填第二个参数则返回格式化后的当前时间日期201812112:00:00time.strftime('%H:%M:%S')返回当前时间的时分秒time.strftim
Python进阶者 Python进阶者
2年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这