公司使用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的本地仓库存储位置
1.2 打开gitBash 拷贝项目
从服务器中打开项目,找到clone的SSH链接。在GitBash中输入 git clone ...
截图中没有输入用户名密码,是因为提前配置了SSH免密登录。(不配置其实也可以,就是每次操作远程git仓库都要输入用户名密码。)
至此,本地文件夹下可看到刚下载的项目文件。
有一个.git的隐藏文件夹,用于记录git的相关操作。
二、GitBash提交变更(增改删)
2.1 新建文件、提交服务器
本地创建一个新文件test.txt 写入123
gtiBash中看查看文件变化:进入到.git文件夹所在的路径后输入 git status 查看当前git状态。
可以看到test.txt处于一个不可识别状态。
使用git add 指令让git客户端接受这个文件
这样,test.txt变成了新增文件。
使用git commit指令提交本地变更(commit后,变更会生效,git项目版本会变更到比服务器高一个版本)。
commit之后,再输入 git status 就没有变更信息了,这意味着本地git仓库版本已经是没有update过的最新版了。
这时服务端还不知道本地仓库版本的变化,使用git push 指令提交到服务端。
可以看到,服务端多了一个test.txt文件,文件提交成功。
2.2 修改文件、提交服务器
修改test.txt文件,内容改成123456。使用git status 指令可以看到test.txt文件已被修改。
但是修改并未被标记为要提交,这样可以隔离临时的修改,避免被误提交到服务端。git add 指令就是在 commit之前将需要正式提交的和临时变更不需要提交的文件隔离,实现一个暂存区的功能。
那么,现在使用git add 指令让test.txt 文件处于待提交状态。
可以看到,test.txt 的状态变成了待提交。输入git commit -m "备注" 指令提交所有待提交文件
这时,test.txt文件已被提交到本地git仓库了。我们在git status指令中已经看不到test.txt文件的信息,但是可以看到我们的 branch版本比服务器端高了一次commit。此时服务器端还不知道test.txt被提交到本地仓库,要通知服务端就需要 git push 指令。
这时,我们已经跟服务器端保持一致了,看看服务器端的效果
打开服务器端的test.txt文件,看到123456。
整个提交过程包括 git add、 git commit、 git push三个步骤。分别是告诉git保存变更到暂存区,提交本地仓库和通知远程git仓库。
2.3 删除文件 ,提交服务器
删除文件其实也是一种变更,只是默认不提交以避免误删除而已。我们删除刚刚测试用的test.txt文件,然后打开GitBash输入git status 查看git状态信息。
输入git add test.txt 告诉git记录变更
这里做个备注:
git add . 记录文件夹内所有文件变更(文件夹内所有新增和修改文件,不包括删除文件)
git add -u 记录修改和删除的文件到暂存区
git add -A 记录新增和修改的文件到暂存区
git add file_name 记录某个文件的变更(新增、修改、删除)到暂存区
输入git commit 提交本地仓库
提交的时候注意输入 -m 然后写一点备注,不然会报错提示,然后commit失败。
从上面截图可以看到,本地仓库比服务端多了一次commit,已经版本不一致了。使用git push通知服务端更新就好。
查看服务器端情况,test.txt文件已消失。
三、从服务器获取更新
git fetch -all 从远成仓库获取全部文件的引用对象
上图可以看到,更新后找到了一个服务器端的commit本地没有,使用git pull 指令可以拉取这个更新
可以看到本地多了一个aaa.txt的文件。