Git使用备忘

2021-08-03  本文已影响0人  KenChen_939

Git是一个版本管理工具,由林纳斯开发.

基本操作

初始化仓库

mkdir git-test     //创建文件夹
cd git-test
git init           //初始化仓库

chenjiandeMacBook-Pro:saas_demo ken$ cd .git;
chenjiandeMacBook-Pro:.git ken$ ls -a
.               COMMIT_EDITMSG  HEAD            config          hooks           info            objects
..              FETCH_HEAD      ORIG_HEAD       description     index           logs            refs

该命令只做一件事,就是在当前目录下生成 .git子目录。该目录中管理当前目录内容所需的仓库数据。


查看仓库状态

git status

工作区和仓库被操作的过程中,状态会不断发生变化。可以使用该命令查看当前状态。
结果会显示当前处于哪个分支下、有无可以提交的内容。提交(commit)是指记录工作区中所有文件的当前状态,打一个版本。


向暂存区添加文件

git add

在工作区创建一个文件之后,该文件并不会被纳入Git仓库的版本管理对象中。所以我们查看仓库状态的时候会显示在Untracjed files中。
git add命令会将该文件加入暂存区。暂存区是提交(Commit)前的一个临时区域


保存仓库历史记录(打版本)

git commit -m “版本信息”
git commit —amend            //修改commit信息

该命令可以将当前暂存区中的文件保存到仓库的历史记录中。相当于记录了一次版本。
-m 参数后的文字是对本次提交的概述。


查看提交日志

chenjiandeMacBook-Pro:saas_demo ken$ git log
commit 3d140b2495dd046708e3e27658a16e2ee0d34492 (HEAD -> master, origin/master, NacoConfig)
Author: youyi <46435808+youyi939@users.noreply.github.com>
Date:   Mon Aug 2 15:45:44 2021 +0800

    自定义配置了BlockHandler限流处理

git log ken.sql
git log -p ken.sql
git log —graph     //以图表形式查看分支

该命令可以查看已往仓库中提交的版本日志。包括什么人在什么时间进行了提交或合并,以及才做前后的差别。
代码中commit右边显示的是提交的哈希值。
Author中显示我们给git设置的用户名和地址。其余显示的是提交时间和提交的版本信息。(注:只显示提交信息的第一行)
只要在git log命令后加上目录名,便只会显示该目录下的日志,如果加的是文件名,就会显示与该文件相关的日志
如果想看提交所带来的改动,可以加上-p参数。


查看更改前后的差别

git diff 

该命令可以查看工作区、暂存区、最新提交之间的差别。
+号标出的是最新添加的行,-号标出的是被删除的行。


分支操作

我们在写代码的时候可能会有不同的想法,或者想要进行试验性操作。此时可以创建一个分支,与我们的主线剥离开。自由操作。试验成功之后可以合并分支。也可以剪枝。
在初始化仓库的时候git会创建一个默认分支:master。

显示分支列表

chenjiandeMacBook-Pro:saas_demo ken$ git branch
  NacosConfig
* master

git branch feature-A    //创建分支
git checkout feature-A  //切换到指定分支

该命令用于显示分支列表。同时带*号的分支为我们当前所在的分支。
切换分支后,再进行add、commit等操作,代码就会提交到此分支。其他的分支并不会被影响。这样就可以在互不影响的情况下同时进行多个功能的开发。


合并分支

git checkout master    //切换到主干分支
git merge —no-ff feature-A        //创建合并提交

假设feature-A分支开发完毕,想将它合并到主干分支。首先要切换到主干分支,然后创建合并提交


回溯历史版本

chenjiandeMacBook-Pro:saas_demo ken$ git reset --hard 3d140b2495dd046708e3e27658a16e2ee0d34492
HEAD is now at 3d140b2 自定义配置了BlockHandler限流处理

仓库的HEAD,暂存区,当前工作区回溯到指定版本状态。只需要提供目标版本的哈希值。(哈希值输入四位以上就可以)
此时需要注意消除冲突,如果某些文件在两个版本中不一致,会出现代码冲突。此时查看冲突部分并将其解决。


推送到远程仓库

Git是分散型版本管理工具。但是之前的操作都是针对单一本地仓库的。远程仓库是gitHub或其他使用Git的代码平台。

推操作

git remote add origin + 仓库链接            //添加远程仓库
git push                                   //推送至远程仓库     

执行push操作之后就会把本地最新的版本推送到远程仓库.但是此时如果你在其他的分支,那么推送上去的代码也在其他分支。别人在pull的时候也会看到这个分支。

拉操作

git clone + 远程库链接        //克隆整个项目
git pull                    //获取最新的远程库代码
上一篇下一篇

猜你喜欢

热点阅读