Git常用命令详解

您所在的位置:网站首页 git用法详解 Git常用命令详解

Git常用命令详解

2023-03-10 07:31| 来源: 网络整理| 查看: 265

Git常用命令详解 一、创建本地版本库

实际上基于Git的操作都是在本地完成的,最后再推送到远端仓库

创建一个空目录 mkdir Test # 创建Test文件夹 cd Test # 移动到Test文件夹下 pwd # 查看当前所在目录 初始化仓库 git init # 初始化仓库,将该文件夹变成git可以管理的仓库 ''' 执行完该命令以后,文件夹中会多出一个.git的隐藏文件夹,即通过该文件夹进行git管理 系统自动创建了唯一一个master分支 ''' 二、文件的基本操作 添加文件到仓库 git add '文件名' # 将指定文件提交到本地仓库的暂存区,并没有提交的仓库里 git add . # 将所有文件都提交到本地仓库的暂存区 提交到本地仓库 git commit -m "注释" # 该命令是将暂存区的文件提交到本地仓库,注释可以加上一些该次对文件的操作 修改提交过的备注 git commin -amend # 进入编辑界面 查看历史记录 git log # 查看在这之前都做了哪些操作和修改 查看历史版本号(版本号用于进行版本回退) git log --pretty=oneline # 可以查看历史版本的版本号 回退历史版本(回到想回到的历史版本) git reset --hard 版本号 查看历史命令 git reflog # 若是不记得刚才的版本号了,可以使用以下命令 查看状态 git status 三、工作区和暂存区

针对Git有两个重要的概念:工作区和暂存区,这也是Git区别于SVN的一点

工作区:工作区指的是我们能看到的目录,比如本地仓库中创建的一个文件夹就是工作区暂存区:Git版本库里存了很多东西,其中就有被称为stage的暂存区,我们在执行add的时候,并没有把文件提交到本地库,而是提交到了暂存区。执行了commit就是把暂存区的文件提交到本地库版本库:.git文件夹,其中包括了上面说的暂存区,还有Git为我们自动创建的第一个分支,master分支,以及指向master的一个指针叫HEAD 四、管理修改 查看工作区的文件和版本库里最新版本的区别 git diff HEAD --"文件" 撤销修改 git checkout --"文件" # 让文件回到最近一次git commit或者git add的状态 将暂存区的修改撤销掉,重新放回工作区 git reset HEAD "修改的文件" 删除工作区中的文件 rm "待删除的文件" 删除版本库中的文件 git rm "待删除的文件" # 删除版本库中的文件 git commit -m "注释" #提交 git checkout --"已删除的文件" # 将版本库中删除的文件恢复到最新版本 五、分支管理 创建与合并分支

针对于Git中的每次提交,可以看成是一条时间线,每个时间点就是提交的点,当只有一条分支的时候,Git用master指向最新的提交(亦或者说当前所做的修改都是在master分支上做的),然后再用HEAD指针指向master,就能确定当前分支是master,以及当前分支的提交点,每次提交,master都会向前移动一步。

当我们创建新的分支时,例如创建dev分支时,Git新建了一条分支dev指向master所指向的提交点,当切换到dev分支时,让HEAD指向dev分支,确定当前分支是dev分支,这样,每次提交,dev分支都会向前移动一步,master分支不动(master分支的文件并未作出修改),当再次切换到master分支时,HEAD指针再次指向master分支,当我们在dev的工作完成后,就可以把dev做到修改合并到master上,最简单的就是让master指向dev的当前提交点即完成了合并。

同时也可以删除分支,即把dev分支删除,只剩下了一条主分支master

相关命令 创建分支 git branch "分支名" # 一般是dev分支 切换分支 git checkout "分支名" 查看所在分支 git branch # 会列出所有分支,当前分之前会有一个*号 合并某个分支到当前分支 git checkout master # 切回到master主分支上 git merge dev # 将dev分支合并到master分支上 删除分支 git branch -d "要删除的分支名" # 当把dev分支合并到master分支后,就可以放心的将dev分支删除了 分支合并冲突

当有多个人在多个分支上操作同一个文件时,且修改的是同一个文件里的同一个位置时,在合并的时候,就会出现合并冲突的情况,

如何解决:手动解决冲突,决定留下来哪一个人修改的代码,然后把另外一个修改删除,再次合并就好了。

查看冲突的文件 git status 查看分支的合并情况 git log --graph --pretty=oneline --abbrev-commit 分支策略

在平常工作开发中,master分支时最稳定的,一般只用于发布新版本,平时不能在上面进行开发,要在新建的分支上进行开发,一般团队的合作分支如下图所示

img

dev分支:日常开发都是在dev分支上完成bug分支:修改bug时,我们会创建一个bug分支进行修复,修复完合并,删除分支。 六、关联远程仓库

日常开发中,一般都是将远程仓库上的代码拉到本地仓库中进行编辑,然后再将修改后的代码推到远程仓库,在这之前,要先和远程仓库建立连,和远程仓库建立连接的方式很多,比较常用的像ssh秘钥的方式。

先在本地创建好版本库以后,将版本库初始化以后,生成秘钥并进行绑定,然后和远程仓库进行关联

关联远程仓库 git remote add origin 远程仓库别名 url # 一个本地仓库可以和多个远程仓库进行关联,当远程仓库较多时,可以通过别名来区分 查看远程仓库fetch和push的地址 git remote -v 修改远端仓库分支 git remote rm origin //删除现在的仓库地址 git remote add origin url //url为你要改的新地址 将远程仓库的代码拉下来 git pull 将本地的仓库推到远程仓库 git push


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3