1. fetch,pull,push的作用

gitlab push设置规则 gitlab如何push_gitlab push设置规则


git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。

git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。

git push则是保证本地库中的最新信息发送给远程库

2. 提交代码或者删除项目中的文件或者文件夹

目前的总结是:先把远程项目clone到本地,之后进行相关操作
上传自己代码的步骤如下
(1) 用于把一个GitHub是的项目clone(下载)到本地变为本地仓库

git clone 远程.git

(2)把当前目录下的新增和修改的文件添加到暂存区

git add . 
git status

(3)把暂存区的更新提交到本地库(这一步相当于操作保存)

git commit -am “add file” 
git status

(4)把当前本地库里的改动推送到远程库(origin)的master 分支

git push origin master

删除项目中的文件或者文件夹步骤:
(1)把远程仓库的变动更新合并到本地仓库(如果没有本地直接clone一个)

git pull

(2)修改文件或者删除

git add . #添加当前文件夹下所有文件
git add 文件名 #添加具体某个文件
git rm 文件 #删除指定文件
git rm -r 文件夹 #删除指定文件夹

(3)保存当前操作

git commit -m "##"

(4)push更新远程仓库

git push #如果之前已经git push origin master 过,后面可以直接简化成 git push

3 创建分支并向分支中提交代码

在介绍两种方法之前,我们需要先了解一下分支的概念:
分支是用来标记特定代码的提交,每一个分支通过SHA1sum值来标识,所以对分支的操作是轻量级的,你改变的仅仅是SHA1sum值。

如下图所示,当前有2个分支,A,C,E属于master分支,而A,B,D,F属于dev分支。

A----C----E(master)
 \
  B---D---F(dev)

它们的head指针分别指向E和F,对上述做如下操作:

git checkout master  //选择or切换到master分支
git merge dev        //将dev分支合并到当前分支(master)中

合并完成后:

A---C---E---G(master)
 \         /
  B---D---F(dev)

现在ABCDEFG属于master,G是一次合并后的结果,是将E和F的代码合并后的结果,可能会出现冲突。而ABDF依然属于dev分支。可以继续在dev的分支上进行开发:

A---C---E---G---H(master)
 \         /
  B---D---F---I(dev)

创建分支提交代码步骤:
(1)clone远程项目到本地

git clone 远程.git

(2)可以查看当前分支和相关状态

git branch //查看本地所有分支 
git branch -r //查看远程所有分支
git branch -a //查看本地和远程的所有分支

(3)新建本地分支并转到该分支下

git checkout -b newbranch

(4)操作——添加文件或者文件夹到该分支

git add .

(5)保存

git commit -m "##"

(6)push到远程仓库

git push #假如有错写一遍git push --set -upstream origin newbranch之后再push一遍



修改本地分支与远程分支名称,以及如何删除远程分支
git branch -r #查看远程分支

git branch -vv #查看本地分支所关联的远程分支

git branch -m old_branch new_branch # Rename branch locally
git push origin :old_branch # Delete the old branch
git push --set-upstream origin new_branch 或者git push -u origin new_branch# Push the new branch, set local branch to track the new remote

注意:把origin改为自己的名称