Git常用操作

一、Git的基本命令

bash 复制代码
git init //初始化本地仓库
git add 文件(文件夹) //添加文件(文件夹)到暂存区 
git status //查看文件当前状态 
git commit 文件(文件夹) -m "提交说明" //提交暂存区文件中指定的文件到本地仓库 
或(git commit -m "提交说明") //提交暂存区中全部的文件到本地仓库 
git ls-files //查看仓库文件列表 
git checkout -- 文件名 //检出git本地库文件到工作区 
git rm 文件名 //删除git版本库文件 


*** 批量处理文件 *** 
git add --all //添加所有文件 
git commit -m 'all' //提交暂存区中全部的文件到本地仓库(/** all是给这次提交的备注 **/) 


*** 文件回溯 *** 
git diff HEAD-- 文件名 //文件差异性比较 
git log --pretty=oneline //简化提交日志输出(提交日志hash值 HEAD指针指向说明) 
git reset --hard 版本hash值(5-8个字符) //执行回退/回到操作(向前回退|回到未来) 
(后悔药)git reflog //查看当前用户最近操作日志

二、本地仓库和远程仓库之间传递数据

  • ①:先在远程仓库中新建一个仓库(新建仓库啥都不要选,就选那个公开或者私有就ok
  • ②:找到仓库生成的最后两行代码,在Git Bash中进行操作即可(也就是已有仓库那个选项卡

三、下载远程仓库

bash 复制代码
git clone (ssh的网址) //下载远程仓库

一个模块就是一个master(一般为项目的根目录),如果想要对某一模块进行bug的修复或者功能的更新,就可以在这个master上新建一个或多个分支,之后就可以进行合并或者组合操作。

可以想作为大鱼吃小鱼,小鱼吃虾米。(嘻嘻嘻~)

四、使用git新建分支并上传

查看一下分支结构

bash 复制代码
git branch

如果没有你自己的分支,新建分支

bash 复制代码
git checkout -b 分支名称

已有分支,切换到当前分支

bash 复制代码
git checkout 分支名称

将要上传的文件提交

bash 复制代码
git add .

提交文件

bash 复制代码
git commit -m '提交的描述'

push到远程仓库

bash 复制代码
git push origin 你的分支名称

五、合并分支

第一种情况:目标:将dev分支合并到master分支(这里的dev分支只是举个例子)

1.1、首先切换到master分支上

bash 复制代码
git checkout master

1.2、如果是多人开发的话 需要把远程master上的代码pull下来

bash 复制代码
//如果是自己一个开发就没有必要了,为了保险期间还是
pull git pull origin master

1.3、然后我们把dev分支的代码合并到master上

bash 复制代码
//如果有冲突,手动解决冲突就行。 
git merge dev

1.4、然后查看状态及执行提交命令

bash 复制代码
git status 


On branch master Your branch is ahead of 'origin/master' by 12 commits. (use "git push" to publish your >local commits) nothing to commit, working tree clean 

//上面的意思就是你有12个commit,需要push到远程master上 
> 最后执行下面提交命令 
git push origin master

第二种情况:合并某个分支上的单个commit(cherry-pick命令)

比如 feature 分支上的commit 82ecb31非常重要,它含有一个bug的修改,或其他人想访问的内容。无论什么原因,你现在只需要将82ecb31合并到master,而不合并feature上的其他commits;

所以我们用git cherry-pick命令来做:

bash 复制代码
git checkout master git cherry-pick 82ecb31

这样就好啦。 现在82ecb31就被合并到master分支,并在master中添加了commit(作为一个新的commit)。cherry-pick和merge比较类似,如果git不能合并代码改动(比如遇到合并冲突),git需要你自己来解决冲突并手动添加commit。

这里git cherry-pick每次合并过来会显示文件冲突(其实并没有冲突代码部分,只需手动解决即可)。

相关推荐
yeziyfx28 分钟前
vs code 使用Git拉取/克隆(clone)仓库项目
git·vscode
smachao9 小时前
Redis Desktop Manager(Redis可视化工具)安装及使用详细教程
redis·git·bootstrap
szcsun510 小时前
git的常用命令
git
jian1105810 小时前
android studio 解决git用户名和用户邮箱不一致的问题
git
jian1105810 小时前
Mac git配置账号和邮箱,可以修改
git·macos
笨笨饿13 小时前
博客目录框架
c语言·开发语言·arm开发·git·嵌入式硬件·神经网络·编辑器
白玉cfc13 小时前
git协作开发
git·团队开发·远程工作
Rabbit_QL14 小时前
【CI/CD】02_一次 git push 后发生了什么?CI 是怎么工作的
git·ci/cd
不会写DN15 小时前
Git 开发中最常用的命令与场景
大数据·git·elasticsearch
张二娃同学15 小时前
基于 Python 与 Tkinter 的猜数字游戏设计与实现:支持玩家猜数与 AI 反向推理
开发语言·git·python·游戏·开源