git基本使用方式整理


在Git安装完成之后,需要配置Git连接的用户信息,基本的配置命令如下

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

A:配置个人信息

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

若是使用–global命令 则所有使用git的身份都是这一个 (疑问:若我在Github有账户,在码云上有账户,那我如何自由的切换已拉取各自上面的项目呢)

B:创建目录

$ mkdir learngit  
$ cd learngit
$ pwd(查看当前目录)
/Users/michael/learngit

C:初始化仓库

$ git init(使用此命令可使该文件夹的一切改动都可被跟踪)
Initialized empty Git repository in /Users/michael/learngit/.git/

D:往仓库添加和提交文件

在learngit 目录下或者子目录下新增文件readme.txt
使用

$ git add readme.txt

将文件添加到仓库;
使用

$ git commit -m "测试提交"
[master (root-commit) eaadf4e] 测试提交
1 file changed, 3 insertions(+)
create mode 100644 readme.txt

将文件添加到仓库。
以下是小结截图
在这里插入图片描述

E:状态查看命令

git status 查看文件是否已经改变
git diff  查看具体哪个地方改变了什么 若是图片被修改不能知道被修改了什么 只能知道大小的变动

F:版本回退

git log 查看最近三次的提交记录
git log --pretty=oneline 查看最近三次的提交记录 精简的显示方式

git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^ 回退到上上一个版本
git reset --hard XXXX 会退到指定版本号

git reflog 查看最近的git提交命令

G:对git占存区的理解

我们创建一个空白文件夹比如learngit可以看做是工作区,在这个文件夹下使用git初始化命令生成.git文件(夹)之后,可以理解为该文件夹是一个版本库,这个文件夹按照区间来分可以分为暂存区和支干,以及指针(HEAD),默认情况下版本库自动创建一个主支(master),指针必有所指,默认指向master,当然还可以创建其他分支。暂存区介于工作区和支干(master)之间,正常的工作提交流程是,我们在我们的工作区文件夹或者是项目编写我们的文件,之后先使用git add XXX,XXX或者git add.(当前所有修改的文件),我们就把我们需要提交的文件先放到了暂存区(这么做肯定有它的好处),在没有add 之前我们若是添加新文件,此时查看git status,新的文件显示未被跟踪Untracked
其他文件若是改动显示被修改,之后我们使用git commit -m ‘修改说明’ 命令时,会将暂存区的所有文件一次性提交到当前指针(HEAD)指向的支干(master)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

H:管理修改

此处强调任何在工作区修改的文件需使用git add 命令之后再使用git commit 命令,才可以将我们的修改提交到版本库。若是我们修改了一部分内容,然后使用了git add 命令,之后又修改了文件,再使用git commit命令提交的话,第二次的修改因为没有使用git add命令将修改提交到暂存区,所以不会将最后的修改提交到版本库。

I:撤销修改

在工作区做了修改之后,若是还没有提交到暂存区,可以使用
git checkout --(空格) XXX(比如readme.txt文件) 可以将对readme.txt上文件的修改全部撤销。
在工作区做了修改之后,已经提交到暂存区,可以使用
git reset HEAD readm.txt 将提交到暂存区的所有修改撤回工作区(工作区的修改仍然保留)
以下是有无提交到暂存区的状态区别:
在这里插入图片描述

J:删除文件

情景:工作区新增了文件,将文件提交到了暂存区(使用git reset HEAD XX文件可以撤销提交到暂存区的修改)或者是提交到了版本库,此时本地工作区删除了文件,若想删除版本库新提交的文件,可使用

git rm XX 文件命令,再使用git commit 命令即可删除版本库上提交的文件。

若是已经提交到了暂存区或者是版本库,而本地只是误删了文件想还原,可使用

git checkout -- XX文件的命令即可 将本地已经删除的文件还原

K:关联远程仓库

远程仓库其实和本地仓库实质上一模一样,唯一的区别是,一个在自己电脑上(不安全),一个在大家信任的电脑上(中国的某个地方),使用远程仓库的两个原因是,一是备份自己的东西,二是多人协调工作,把自己东西放到外网,别人可以同步到和你本地一不一样的数据。使用命令

$ git remote add origin https://github.com/xxxxxx/LearnGit.git

将本地的仓库与远程关联(发生关系),git remote add 是固定命令 origin 指向 https://github.com/RichiceWoo/LearnGit.git 就是说我们关联的是这个地址指向的远程仓库,而origin只是这个仓库的代名词而已 以后再把本地仓库数据推送到远程仓库时使用这个代名词就可以了
关联之后就是推送了,使用命令

git push -u origin master(第一推送),加参数-u 可以使本地master与远程master关联并且推送上去  以后不需要加此参数

固定命令 git push ,动态参数origin 远程仓库名称 master本地主支

L:仓库克隆

是指以远程仓库为主导,将远程仓库搬到本地,如此这样做,克隆下来,本地就是一个完整的仓库了
命令
git clone https://github.com/xxxxxxx/gitskills.git(远程仓库地址),特别简单 截图如下:
在这里插入图片描述

M:分支管理
分支可以理解为建筑工地上同时进行的建筑工事(所有的工事组合起来是一个整体),对于一个人来说(相对于团队合作)他可以在不同的时刻创建不同的工事(分支),指针(HEAD)是指当前你这个人在哪个工事上,当你在某个工事(HEAD指向的工事(分支))进行作业呢,相当于你在某个分支上做修改和变动,你提交时只会提交到当前分支,你切换到其他分支时,你是看不到当前的这些改变的,就是说你去了其他工事,那为了能让其他工事跟保持一致,你就可以把你做了改变的工事复制到其他工事。由于git是记录改变,并没有真正改变内容,所以复制(merge)只是把做了改变的分支的改变记录给了其他工事。这样的过程可以理解为电脑上虚拟的构建过程,在现实中存在的东西永远在一个地方进行修改,而你修改记录却可以在任何地方呈现(不冲突的情况)。
命令:

git branch dev 创建一个新的分支dev
git checkout dev 切换分支  HEAD指向 dev
git branch 查看当前有多少分支  并且用*表示当前指针指向哪个分支
git merge XX(需要合并的分支)
git branch -d XX(需要删除的分支) 

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TuringK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值