这里就主要来写一下 git 在我们本机上面的一个基本的工作流程
假设举例一个工作场景:我们现在需要从 GitHub 或者 GitLab 上克隆一个项目:
我们需要执行 git clone
命令:
git clone https://github.com/xichengliudui/public-repo
[root@node2 src]# git clone https://github.com/xichengliudui/public-repo
Cloning into 'public-repo'...
remote: Enumerating objects: 72, done.
remote: Counting objects: 100% (72/72), done.
remote: Compressing objects: 100% (67/67), done.
remote: Total 72 (delta 21), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (72/72), done.
可以看到下载成功
下面就是进去到这个项目中去
cd public-repo
我们使用 git 开发的基本原则大家要知道,不能基于 master 进行创建、更新、删除
这个时候我们需要基于 master 分支创建新分支
假设我们需要实现一个添加功能,那么我们创建分支需要使用:git checkout
命令
git checkout -b add-function
(分支名尽量描述你要做的事情)
接着说一个新命令,来验证我们新分支是否创建成功:git branch
[root@node2 public-repo]# git branch
* add-function
master
可以看出我们现在的分支名称叫做 add-function
说明我们已经创建新分支成功!下面就是实现具体功能:
假设我们创建一个文件叫做 check_name,实现了一个检查名字的功能(文件就自己创建吧),然后我们使用 git status
查询
[root@node2 public-repo]# git status
# On branch add-function
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# check_name
nothing added to commit but untracked files present (use "git add" to track)
可以看到 check_name 已经出现了,大家如果想查询更具体的可以使用 git diff
,我们验证这个命令需要往 check_name 里面写一些东西,这里我就不写了,使用方法就是直接执行:
git diff
大家就可以看到自己添加的或者删除的任何信息
下一步我们提交到上游去,也就是你从哪里克隆的提交到哪里去:
先执行 git add
命令,将你的修改添加到本地仓库中,再执行:
[root@node2 public-repo]# git add --all
[root@node2 public-repo]# git commit -m "add a check_name file"
[add-function 683978f] add a check_name file
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 check_name
大家注意双引号中尽量描述清晰,可以看出结果我们有一个文件进行了创建,最后一行描述.
然后我们执行 git push
命令,将当前修改推送到上游:
git push origin add-function
最后一步这里,如果你 GitHub 或者其他代码托管平台设置密钥设置的是有密码的需要输入密码,没有则不需要,到这里就已经全部结束了。
再多说一句,如果大家克隆的是开源项目,像 k8s,docker,istio 都需要签署一些协议,不要忘记配置本地 git user.name 以及 user.email
大家有任何疑问或者问题,欢迎下方留言。