Git常用基本指令

Git是分布式版本控制系统,用于追踪对文件的修改。基本操作包括初始化仓库、文件跟踪、提交、删除文件、查看状态、历史记录、回退版本、添加远程库、上传、拉取、分支管理和变基。这些操作帮助开发者高效管理项目版本。
摘要由CSDN通过智能技术生成

        Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。基本操作如下图所示。

一.初始化 Git 仓库

        Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。

$ git init //使用当前目录作为 Git 仓库

$ git init newrepo //使用指定目录作为 Git 仓库,newrepo 为存放 Git 仓库的文件夹(即目录)

二. 文件跟踪

$ git add . //跟踪该目录下所有文件

$ git add *.js //跟踪该目录下所有以 .js 结尾的文件

$ git add README.md //跟踪该目录下的指定文件

$ git add ProjectConstruction/vue_shop //跟踪该目录下 ProjectConstruction 文件夹中 vue_shop 子文件

三. 提交到本地 Git 仓库

         在 Linux 系统中,commit 信息使用单引号 ',Windows 系统,commit 信息使用双引号 "。

$ git commit -m"对该次提交内容的描述"

四. 删除文件

$ git rm README.md //从暂存区和工作区中删除 README.md 文件

$ git rm -f README.md //强制删除 README.md

$ git rm --cached README.md //仅将 README.md 从跟踪清单(暂存区域)中删除,当前工作目录中仍然保留

五. 查看仓库当前的状态

$ git status

$ git status -s //使用 -s 参数来获得简短的输出结果

六. 查看历史提交记录

$ git log 

$ git log --oneline //查看历史记录的简洁的版本

$ git log --oneline --graph //查看历史中什么时候出现了分支、合并

$ git log --reverse --oneline //逆向显示所有日志

$ git blame <file> //以列表形式查看指定文件(注:不能是文件夹,即目录名)的历史修改记录

七. 回退版本

$ git reset HEAD^            // 回退所有内容到上一个版本,取消已缓存的内容

$ git reset HEAD~n           // 回退所有内容到上n个版本  

$ git reset HEAD^ hello.php  // 回退 hello.php 文件的版本到上一个版本
  
$ git  reset  052e           // 回退到指定版本 052e

//--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,
    并删除之前的所有信息提交(谨慎使用)
$ git reset --hard origin/master    // 将本地的状态回退到和远程的一样 

八. 添加远程库

$ git remote add shortname url
//例
$ git remote add origin https://github.com/OnlyCong/Course-management-system.git

        shortname为本地设置连接远程仓库名称,url为自己的远程仓库链接,以 Github 为例,请根据你在 Github 创建的仓库里复制链接。

九. 上传到远程仓库

$ git push -u origin master

十. 查看远程仓库

$ git remote
origin

$ git remote -v //加上 -v 可以看到每个别名的实际链接地址
origin  https://github.com/OnlyCong/Course-management-system.git (fetch)
origin  https://github.com/OnlyCong/Course-management-system.git (push)

十一. 删除远程仓库

$ git remote rm origin

十二. 克隆仓库

$ git clone repo //克隆本地仓库,repo为本地仓库名

$ git clone https://github.com/OnlyCong/Course-management-system.git //克隆远程仓库

$ git clone repo directory //将本地 repo 仓库克隆到指定的目录 directroy 下,远程仓库同理

十三. 从远程获取代码并合并本地的版本

$ git pull origin master // 拉取远程分支 master 与当前分支合并

$ git pull origin master:brantest // 拉取远程分支 master 与本地的 brantest 分支合并

        git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写,以上命令相当于以下命令。

$ git fetch origin

$ git merge origin/master

十四. 分支管理

$ git branch // 查看本地分支 master

$ git branch main // 创建 main 分支

$ git checkout main //切换到 main 分支

$ git checkout -b main //为以上两个指令的集合,创建并切换到 mian 分支

$ git merge main //将 main 分支合并到 master 主分支

$ git beanch -d main // 删除 main 分支

注:合并分支时一定要切换到主分支上。

十五.  分支变基

        与分支合并的最终结果一样,只是提交历史不同,变基使得提交历史更加整洁,变基是将一系列提交按照原有次序依次应用到另一分支上,而合并是把最终结果合在一起。

$ git checkout experiment //检出 experiment 分支
$ git rebase master //将 experiment 分支变基到 master 分支上
$ git checkout master //回到 master 分支
$ git merge experiment //进行一次快进合并
//master 和 experiment 指向了同一条快照,master 中就包含了 experiment 的修改了

         它的原理是首先找到这两个分支(即当前分支 experiment、变基操作的目标基底分支 master) 的最近共同祖先,然后对比当前分支相对于该祖先的历次提交,提取相应的修改并存为临时文件, 然后将当前分支指向目标基底 master, 最后以此将之前另存为临时文件的修改依序应用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值