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每次合并过来会显示文件冲突(其实并没有冲突代码部分,只需手动解决即可)。

相关推荐
课堂随想4 小时前
【git】通过配置 `init.defaultBranch`,自定义 Git 初始化时的默认分支名称,避免使用 `master` 并消除相关的警告提示
git
qq_377572777 小时前
github 远程仓库删除 本地重新上传
git
缘友一世8 小时前
macos安装git并连接gitCode远程仓库
git·macos·gitcode
熬夜学编程的小王11 小时前
C++类与对象深度解析(一):从抽象到实践的全面入门指南
c++·git·算法
课堂随想12 小时前
SHA-1 是一种不可逆的、固定长度的哈希函数,在 Git 等场景用于生成唯一的标识符来管理对象和数据完整性
git·哈希算法
易雪寒15 小时前
IDEA在git提交时添加忽略文件
java·git·intellij-idea
徒步僧16 小时前
mac中文件夹怎么显示.git隐藏文件
git·macos
int WINGsssss2 天前
Git使用
git
用户0760530354382 天前
Git Revert:安全移除错误提交的方式
git
Good_Starry2 天前
Git介绍--github/gitee/gitlab使用
git·gitee·gitlab·github