软件工具——GitBash使用教程

时间:2024-03-21 10:04:59

公司使用GitLab作版本控制工具,开发使用git客户端链接到公司GitLab服务器进行代码和文档的提交和维护。

Git客户端安装教程:https://blog.csdn.net/qq_15903671/article/details/87966916

安装后打开gitBash配置SSH,配置用户名及邮箱

ssh -******(生成ssh秘钥,关于ssh自行百度吧)

git config --global user.name "user_name"

git config --global user.email "email..."

以下包括:GitBash下载项目,GitBash提交变更(增删改),GitBash拉取更新。

一、GitBash下载项目

1.1 创建一个本地文件夹作为Git的本地仓库存储位置

软件工具——GitBash使用教程
1.2 打开gitBash 拷贝项目软件工具——GitBash使用教程

从服务器中打开项目,找到clone的SSH链接。在GitBash中输入 git clone ... 

软件工具——GitBash使用教程

截图中没有输入用户名密码,是因为提前配置了SSH免密登录。(不配置其实也可以,就是每次操作远程git仓库都要输入用户名密码。)

至此,本地文件夹下可看到刚下载的项目文件。

软件工具——GitBash使用教程

有一个.git的隐藏文件夹,用于记录git的相关操作。

二、GitBash提交变更(增改删)

2.1 新建文件、提交服务器

本地创建一个新文件test.txt 写入123

软件工具——GitBash使用教程

gtiBash中看查看文件变化:进入到.git文件夹所在的路径后输入 git status 查看当前git状态。

软件工具——GitBash使用教程

可以看到test.txt处于一个不可识别状态。

使用git add 指令让git客户端接受这个文件

软件工具——GitBash使用教程

这样,test.txt变成了新增文件。

使用git commit指令提交本地变更(commit后,变更会生效,git项目版本会变更到比服务器高一个版本)。

软件工具——GitBash使用教程

commit之后,再输入 git status 就没有变更信息了,这意味着本地git仓库版本已经是没有update过的最新版了。

这时服务端还不知道本地仓库版本的变化,使用git push 指令提交到服务端。

软件工具——GitBash使用教程

软件工具——GitBash使用教程

可以看到,服务端多了一个test.txt文件,文件提交成功。

 

2.2 修改文件、提交服务器

修改test.txt文件,内容改成123456。使用git status 指令可以看到test.txt文件已被修改。

软件工具——GitBash使用教程

但是修改并未被标记为要提交,这样可以隔离临时的修改,避免被误提交到服务端。git add 指令就是在 commit之前将需要正式提交的和临时变更不需要提交的文件隔离,实现一个暂存区的功能。

那么,现在使用git add 指令让test.txt 文件处于待提交状态。

软件工具——GitBash使用教程

可以看到,test.txt 的状态变成了待提交。输入git commit -m "备注" 指令提交所有待提交文件

软件工具——GitBash使用教程

这时,test.txt文件已被提交到本地git仓库了。我们在git status指令中已经看不到test.txt文件的信息,但是可以看到我们的 branch版本比服务器端高了一次commit。此时服务器端还不知道test.txt被提交到本地仓库,要通知服务端就需要 git push 指令。

软件工具——GitBash使用教程

这时,我们已经跟服务器端保持一致了,看看服务器端的效果

软件工具——GitBash使用教程

打开服务器端的test.txt文件,看到123456。

整个提交过程包括  git add、 git commit、 git push三个步骤。分别是告诉git保存变更到暂存区,提交本地仓库和通知远程git仓库。

 

2.3 删除文件 ,提交服务器

删除文件其实也是一种变更,只是默认不提交以避免误删除而已。我们删除刚刚测试用的test.txt文件,然后打开GitBash输入git status 查看git状态信息。

软件工具——GitBash使用教程

输入git add test.txt 告诉git记录变更

软件工具——GitBash使用教程

这里做个备注:

git add . 记录文件夹内所有文件变更(文件夹内所有新增和修改文件,不包括删除文件)

git add -u 记录修改和删除的文件到暂存区

git add -A 记录新增和修改的文件到暂存区

git add file_name  记录某个文件的变更(新增、修改、删除)到暂存区

输入git commit 提交本地仓库

软件工具——GitBash使用教程

提交的时候注意输入 -m 然后写一点备注,不然会报错提示,然后commit失败。

从上面截图可以看到,本地仓库比服务端多了一次commit,已经版本不一致了。使用git push通知服务端更新就好。

软件工具——GitBash使用教程

查看服务器端情况,test.txt文件已消失。

软件工具——GitBash使用教程

 

三、从服务器获取更新

git fetch -all  从远成仓库获取全部文件的引用对象

软件工具——GitBash使用教程

上图可以看到,更新后找到了一个服务器端的commit本地没有,使用git pull 指令可以拉取这个更新

软件工具——GitBash使用教程

可以看到本地多了一个aaa.txt的文件。

软件工具——GitBash使用教程