Git的简单应用

一、安装
地址:https://git-scm.com/downloads
在这里插入图片描述
安装完之后会在桌面生成一个图标:
在这里插入图片描述

二、注册并登录Gitee,创建远程库
在这里插入图片描述
注册登录完之后,点击右上角的“新建仓库”
在这里插入图片描述
如下图填好信息然后直接点击“创建”即可:
在这里插入图片描述
三、对仓库文件进行操作【git命令】
1.创建版本库:首先打开Git Bash,然后创建learngit目录,打开learngit目录,获取该目录的位置【方便自己在本地目录中查看】

mkdir learngit        
cd learngit
pwd

2.将新建的目录变更为git可以管理的仓库,这样空仓库就建好了,在本地中点击该目录时会发现多了一个.git的目录,.git这个目录是Git来跟踪管理版本库的,所有不能手动更改里面的文件,否则容易造成仓库损坏。

git init

可以使用 ls -ah 命令查看.git目录

3.配置git全局变量

git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

4.在learngit目录下或其子目录下创建并编写readme.txt文件,文件内容如下:

Git is a version control system.
Git is free software.

5.将readme.txt添加到仓库:先添加再提交。-m后面输入的是本次提交的说明

git add readme.txt
git commit -m "wrote a readme file"

6.本地推送到分支【origin是为仓库地址起的别名】,master为origin中的一个分支

git remote add origin 仓库地址
git push -u origin master

在这里插入图片描述

7.文件添加到仓库之后查看仓库当前的状态,比如什么文件被修改了什么内容。

git status

在这里插入图片描述

但若隔天上班记不太清什么文件被修改了什么内容,就可以使用git diff命令:

git diff readme.txt

四、版本回退
想回到提交前的那个版本怎么办?
我们先修改README.md文件提交为最新版本,然后再进行版本回退。

vi README.md                                 【这是编辑README.md文件,输入这个命令之后按i 就可以直接编辑文件内容了,内容随便输入,编辑完之后按ESC退出,然后输入 :wq 即可退出编辑状态】
cat README.md                                【这是查看文件内容】
git add README.md
git commit -m "README.md"

在这里插入图片描述
现在已经是最新版本,我们先使用 git log 看看版本库的状态,然后再进行版本回退【上个版本是HEAD^,往上100个版本写100个向上的箭头容易数不过来,所以写成HEAD~100】

git log
git reset --hard HEAD^

在这里插入图片描述
版本回退完之后可以查看文件是否是修改之前的样子,是则表明版本确实回退成功了。
但若是不想回退了,想回到最初的新版本怎么办呢?我们之前不是通过git log 查看版本库的状态了吗?只要当前窗口没关,就能找到新版本的commit ID【commit ID就是上图中黄色的字符串,ID不用写全】

git reset --hard 9e1a

然后查看文件内容是否和新版本的一样就行了。
在这里插入图片描述
若是当前窗口关了呢?找不到最新版本的commit ID了怎么办?首先进入git目录然后输入 git reflog 就能查找到ID了
在这里插入图片描述
想回到哪个版本就看commit后面的提交信息,然后 git reset --hard ID即可

五、撤销修改
1.当想撤销工作区的修改时【还没有进行add,commit,push等一系列操作】,使用命令

git checkout  --  README.md

解释下图:先查看文件,里面没有内容,然后进行内容编辑再查看,里面增加了几个单词,之后进行撤销修改,文件的内容又变回原样
在这里插入图片描述
2.当已经将文件添加到暂存区时想撤销修改【已经完成add操作,但是还没有完成commit,push操作】,可以使用命令

git reset HEAD README.md
git checkout --  README.md

解释下图:查看当前文件内容为空,然后进行修改编辑,之后再进行查看时内容增加。将文件添加到暂存区之后,想丢弃修改,于是通过命令git reset HEAD README.md 和 git checkout – README.md 回到修改之前.
在这里插入图片描述
3.当已经将文件提交到版本库时,想丢弃修改,可以直接使用版本回退 git reset --hard HEAD^
如果你已经将文件推送到远程库,也就是执行了push操作,那就改不了了

六、删除文件
有两种情况:
①工作区删除,版本库中还存在。那么直接可以使用 git rm file 删除版本库中的文件,然后 git commit -m
②工作区的内容被误删,不过版本库中还存在。可以将误删的文件恢复到最新版本 git checkout – file

七、关联、删除、克隆远程库
关联:关联远程库时必须给远程库指定一个名字,默认为origin,然后使用命令 “ git remote add origin 项目地址 ” 进行关联

删除:先使用 git remote -v 查看远程库信息,然后用 git remote rm [name] 命令。这里的删除只是解除本地与远程库的绑定关系,如果要真正删除远程库,需要登录gitee找到删除按钮进行删除。

克隆:必须得知道仓库地址,然后使用 git clone [仓库地址] 命令进行克隆。

八、创建与合并分支
首先创建dev分支,切换到dev分支并查看当前分支【git checkout 命令加上 -b 参数表示创建并切换;branch会列出所有分支,当前分支前面会有一个*号】:

git checkout -b dev 
git branch

在这里插入图片描述
我们可以做个实验:
在dev分支上修改README.md文件,然后提交,之后再切换到master分支查看文件,发现没有修改的内容。那是因为我们是在dev分支上提交的,master自然不会有变化。
在这里插入图片描述
那怎样让master分支也跟着变化呢?将dev分支合并到master分支上就行了。

git merge dev

这时再查看master分支中的文件,就是dev中修改之后的样子了:
在这里插入图片描述
合并完成之后,就可以删除dev分支了,删除之后再次查看branch,就只剩下master了:【branch -d 表示删除分支】
在这里插入图片描述

这里可以注意到,我们切换分支用的是 git checkout <分支名>,而撤销某个文件的修改用的是 git checkout – <文件名>,两者有点相似容易让人迷惑,所以切换分支可以用另一种来表达 git switch
创建并切换到新的dev分支,可以使用:git switch -c dev
直接切换到已有的master分支,可以使用:git switch dev

九、解决冲突
举个栗子:新创建member分支并切换,修改README.md文件并提交;然后切换到master分支对README.md文件进行不一样的修改并提交;之后再将member分支合并到master分支,由于文件修改的内容不一样,势必有冲突,所以要手动修改文件提交。(修改文件之后不需要再merge,会自动更新,直接add,commit文件即可)

在这里插入图片描述
在这里插入图片描述
十、推送分支

远程仓库的默认名称是origin,将本地上的分支推送到远程库得指定是本地的哪个分支
比如,推送本地的master分支到远程库:git push origin master
如果多人协作,同时对某个文件做了修改,且某个同事先推送分支,轮到你推送时直接推送失败怎么办?
git pull 将代码拉下来,pull成功之后如果合并有冲突,那就先修改文件再提交。

十一、标签管理

命令 git tag <标签名> 用于新建一个标签,默认为HEAD,也可以指定一个commit ID;
命令 git tag -a <标签名> -m “说明文字” 可以指定标签信息;
命令 git tag 可以查看所有标签
如果标签打错了,可以直接删除:git tag -d <标签名>
创建的标签都只会存储在本地,不会自动推送到远程,所以打错的标签可以在本地安全删除,如果要推送某个标签到远程,可以使用命令:git push origin <标签名>
一次性推送全部还没有推送到远程库的本地标签:git push origin --tags
要删除远程标签得先删除本地标签 git tag -d <标签名>,然后再从远程删除 git push origin :refs/tags/<标签名>

如果使用 git remote add 连接远程库时报错,可能是本地已经关联了一个名为origin的远程库,将其删除就行了 git remote rm origin,或者不使用origin改为其他的也行。本地库的名称最好和远程库的名称一样

十二、配置别名
有些命令可能单词不咋好记,这里举个简单的例子。
我不想敲status了,想用st代替,那么我们可以使用命令配置别名:git config --global alias.st status,之后的 git status 都可以用 git st代替。

配置文件放在哪呢?每个仓库的Git配置文件都放在 .git/config 文件中:
在这里插入图片描述
如果想要删除别名,直接编辑 .git/config 这个文件,将对应的别名行删除就行了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值