Git的高级命令

2019-03-01  本文已影响0人  章强_5488

之前Git操作——简单使用

远程创建一个git项目,clone到本地,即为本地仓库(即一个含有.git隐藏文件夹的项目文件夹),经过本地终端命令的操作,再push到远程库。所有的修改、删除、提交、推送等都是由这个.git的文件进行记录的,如果去掉,这个项目就是一个普通的文件夹。

现在Git操作——复杂使用

本地新建一个git项目,push到远程空仓库。

再在终端上操作

(1)在本地任意创建一个文件夹(此时,这个还是空文件夹,不是仓库)

 mkdir  blogtest_01

(2)看github项目主页上的提示

 touch README.md

执行status查看:

 git  status

出现报错:fatal: Not a git repository (or any of the parent directories): .git 即没有仓库

(3)空文件夹初始化一个仓库

git init

出现提示:Initialized empty Git repository in C:/Users/zq/Desktop/gitxuexi/blogtest_01/.git/ 即说明已经初始化一个空的仓库

#验证仓库查看:

ls  -a

即会出现.git相关的文件夹,代表仓库已在本地建成

执行status再查看:

git  status

(4)开始添加、暂存、提交一系列本地操作

git add .

git commit -am "init"

本地新建仓库进行推送(注意这是一个重要点):

git  push

意:会出现异常,因为本地新建的blogtest_01起初并不知道是指向远程库blogtest_01,所以需要执行一个指向地址的命令(在github项目主页上有提示),即:

向远程库推送git remote add origin git@github.com:zhangqiang1417/blogtest_01.git 和 git push origin master

刷新一下GitHub

其他命令(这里以gitlab作为可改标签)

(1)慎用,强制推送会覆盖别人的代码

 git push -f origin master

(2)再添加一个远程库的标签

 git remote add gitlab git@gitlab.com:abc/blog.git$ git remote -v

注:这里善用搜索引擎,查找不会的命令意义:

 git remote -v ,-v (即 –verbose 简写,取首字母),显示对应的克隆地址,列出详细信息,在每一个名字后面列出其远程库的url。

推送到gitlab标签:

git push gitlab master

(3)删除gitlab标签

git remote remove gitlab

(4)修改origin标签对应的地址(可以一个命令修改git的https或者ssh地址)

git remote set-url origin git@github.com:jirengu/blog3.git

(5)把gitlab 标签改名为coding

git remote rename gitlab coding

查看所有分支

git branch -a


(绿色分支——本地分支)*master :当前本地仓库主干master

(红色分支——远程分支)remotes/origin/master : 远程库的主干

2、创建本地库dev分支

git branch dev

git branch -a 

3、切换主干和分支操作

(1)切换到dev分支

git checkout dev

index.html在dev这个分支上

(2)#切换到master主干

git checkout master

注:index.html没有在master的主干上

结论:同一个项目文件夹,只要切换不同分支,就会展示不同分支的文件状态

4、推送到origin地址的dev分支上

git push origin dev

6、将dev分支内容合并到主干上

git checkout master

git merge dev

可以查看一下

ls

然后,合并(merge)后的项目便是共同协作的结果

7、推送到远程库中

git push origin master


冲突

假设A和B 同时修改同一个文件,同一个地方,在执行git pull 本地更新本地合并时会发生冲突。

A执行范例

B操作

上一篇下一篇

猜你喜欢

热点阅读