单节点仓库的使用
初始化一个git仓库
git init
添加文件
git add .
提交信息
git commit -m '提交的备注信息'
查看分支
git branch
新建分支
git branch 分支名称
切换分支
git checkout 分支名称
远程操作的一些命令
git是一种分布式的版本管理工具,分布式系统中总存在一个节点对于另外一个节点的控制问题,比如本地的文件夹就是一个节点,远程的代码托管网站可以看成时另外一个节点,在从一个节点对另外一个节点的数据进行拉去和更新之前,我们需要首先建立起本地和远程的一个连接。
增加远程链接:
git branch --set-upstream my_branch origin/my_branch
该命令的完整解释为: 进行分支设置,并且将本地仓库中的my_branch分支的远程分支设置为远程链接origin中的my_branch分支
想必很多小伙伴都用过
git push -u origin master
这一个命令来向远程代码管理仓库进行代码提交,当时很纳闷这句话的意思。
事实上,-u表示upstream,表示向远程(上游提交数据),而origin是git默认的远程仓库链接,master表示你提交的分支名称。
事实上,push命令的完整版本如下所示:
git push -u 远程连接名称(比如origin) 待提交分支:远程分支
(这里遗留一个问题,push的时候怎么与原来的版本进行更新)。
通常情况下,在我们使用
git clone url
命令进行仓库克隆的时候,系统会默认将url的别名设置为origin
在这种情况下,使用git push
命令会将此时的分支推送到origin对应的仓库中(至于推送到哪一个分支,根据git的设计思想应当是与本地分支名称一致的分支,没有的话便重新创建)。
而从远程的仓库拉去代码到本地仓库也有对应pull的命令:
git pull http://192.168.1.100/zhangsan/sixsixsix.git master:main
以上命令表示从远程url的master分支中拉去到本地的main分支中
那么git commit
命令是否有指定目的分支和原分支的命令呢?
好吧,我还暂时没有找到,我们还是先老师的使用checkout切换到指定的分支进行编辑然后提交叭。
思考
如果我们从本地仓库和远程仓库双向节点之间的关系来看,数据流向应该包括AA,AB,BA,BB四种关系,git commit
是从本地工程文件夹向本地仓库的更新,git push
是仓本地仓库到远程仓库的更新,‘git pull’是从远程仓库到本地仓库的更新。而由于远程仓库通常是代码托管的服务器,很少用于直接编辑,因此我们通常不考虑远程代码仓库向远程代码仓库提交的关系。
而这三种关系也可以看成是原来的文件和新的文件合并的过程,势必会存在更新冲突的问题。
git push
应用场景1
在本地工程文件夹中编辑所有的文件,并且手动设置远程远程链接,创建分支并且设置上游分支,并将代码传送到上游分支中去: