赞
踩
最新相关博客:GitHub&Gitee&Gitlab&极狐(JihuLab)同时生成并配置SSH公私钥详细过程 2023-9-9 09:06:16
master分支与main分支的问题
Git是目前世界上最先进的分布式版本控制系统,学习之前你需要对它的工作流程有个了解。
工作目录
(working dir或者worksapce
)
缓存区
(暂存区Index或stage
)
HEAD(指向你最近一次提交后的结果
) 指向当前活动分支即最新提交的一个指针引用
。
HEAD始终指向当前的活动分支
,当存在多个分支时,唯一只能有一个处于当前活动状态
,即当前活动分支只能有一个
。
local repository
(本地版本库
)
remote repository
(远端版本库
)
前提:需要配置好SSH-key,可参考此文章->Git同时配置Gitee和GitHub两个不同的SSH-Key
点击复制此处的仓库地址。
在D:\project\IdeaProjects\StudyVC文件夹中,右击git bash here,在此文件夹中打开git命令行。
执行git init 命令后
,会发现StudyVC文件夹里会新增一个.git的隐藏文件夹
(需要设置电脑才能看到,如果你的电脑上看不到,可能你设置了“隐藏文件不可见
”),同时StudyVC文件夹图标左下角会多一个绿色的对钩
。
此时的文件位于工作目录workingdir
中,也就是StudyVC
文件夹中。执行git add *
把StudyVC中所有内容添加到Index缓存区
中,此时你会发现StudyVC文件夹
和其里面的内容
左下角有红色感叹号
。
git add 命令可将该文件的修改添加到暂存区。
通过运行 git add 命令,你可以告诉 Git 哪些文件的修改应该包含在下一次提交(commit)中。
将文件从workdir(工作目录)中添加到缓存区index(即暂存区stage)(出现红色感叹号)
//*表示所有文件
git add *
//.表示当前目录下的所有文件
git add .
//也可以直接添加目录
git add 目录名
//添加一个或多个文件
git add 文件1名 文件2名
//强制提交某个文件(不管.gitignore是否包含了这个文件)
//.gitignore文件是用来配置 忽略不需要上传的文件 的文件
git add -f 文件名
这是git基本工作流程
的第一步,使用如下命令实际提交改动
:
git commit - m
“代码提交信息
”
代码提交信息
相当于代码中的注释
。
此时,HEAD已经指向你刚刚的提交commit改动
(HEAD指向你最近一次提交后的结果
,即刚刚的提交
),但是还没到你的远端仓库remote repository(例如GitHub、Gitee、Gitlab等平台,这里是GitHub)
。
执行完,会根据摘要算法(SHA1)生成一个不重复的40位提交ID字符串
,默认只会显示7位
,唯一识别你的每一次提交
,这里是8473a5d
。
注意
:此时红色感叹号
重新变回绿色对钩
。-m
后面的参数为代码提交信息
(Commit Message
),是对这个提交的一些概述
,具体做了些什么修改
,内容见文知意
。
例如:
git commit - m
“对某文件进行了修改”
git commit - m
“实现了导出excel报表功能”
我们可以自己看看本地的文件是否真的还没有提交到远端仓库中,打开GitHub远端仓库StudyVC:
可以发现还是我们之前创建仓库时自动生成的几个文件,也就证实了本地文件确实还没有提交到远端仓库中。
继续输入git remote add origin URL ,URL这里填写第1步复制的远端仓库StudyVC的地址,表示将本地仓库与远端仓库进行绑定,即将它设置为本地仓库的远程仓库。此时远端仓库中还是没有本地提交的内容,因为还没有执行关键的push命令。
首次推送
,执行git push -u origin master
,当前分支的内容就会被推送到远程仓库origin的master分支
。看到GitHub系统也检测到了刚刚的push,并给出了提示。
【2023-6-29 18:12:11 后期修改:此处改为 git push -u origin main。
详情见:
master分支与main分支的问题
这里推荐我转载外国博主关于这个问题的文章,里面有微软官方的一些说明
5步将 GitHub 默认分支从 Master 更改为 Main(转载)
因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从master逐步改为main。 】
在GitHub上可以确认远程master分支的内容,也就是刚刚push提交的内容:
注意
:
1、这里的-u 参数
,一般在第一次 push
的时候使用,相当于建立某个本地分支(这里是master分支)
与对应的远端分支(orgin/master)
的第一次联系。后面再push这个本地分支
到远端仓库,就无需再加-u参数
,直接执行git push origin master
。
2、如果这个分支,是git pull下来的,修改后再push,也无需再加-u参数,直接执行git push -u origin master
,因为之前已经建立过
这个本地分支与对应的远端分支之间的第一次联系
,pull到本地workspace
,联系也会存在,后面再push这个本地分支
到远端仓库,就无需再加-u参数
,直接执行git push origin master
。
git push -u origin main
的情况同理
。
3、(来自《GitHub入门与实践》中的一些说明)
#进入你要提交的文件夹里
cd <localdir>
//init初始化(出现绿色对钩)
git init
//git add 命令可将该文件的修改添加到暂存区。
//通过运行 git add 命令,你可以告诉 Git 哪些文件的修改应该包含在下一次提交(commit)中。
//将文件从workdir(工作目录)中添加到缓存区index(即暂存区stage)(出现红色感叹号)
//*表示所有文件 git add *
//.表示当前目录下的所有文件 git add .
//添加一个或多个文件 git add 文件1名 文件2名
//强制提交某个文件(不管.gitignore是否包含了这个文件)git add -f 文件名
//.gitignore文件是用来配置 忽略不需要上传的文件 的文件
//也可以直接添加目录 git add 目录名
git add *
//将文件由缓存区index提交到HEAD(HEAD指向你最近一次提交后的内容)(红色感叹号变回绿色对钩)
git commit -m "commit messages"
//将本地仓库与远程仓库进行绑定,即将URL的地址设置为本地仓库的远程仓库
git remote add origin URL
//首次推送到远端origin的master分支,带-u参数
git push -u origin "master" 或者 git push -u origin master
或者
git push -u origin main
【因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
//后续再推送,不需要再带-u参数
git push origin "master" 或者 git push origin master
或者
git push origin main
【因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
注:SSH的git@gitee.com:djcking/myapplication01.git
和HTTPShttps://gitee.com/djcking/myapplication01.git
直接从仓库中点击复制粘贴使用即可,以哪种方式配置,就复制使用哪一种。
Git全局设置
git config --global user.name "GiHub用户名"
git config --global user.email "GitHub邮箱"
a:还没有git仓库,创建 git 仓库(此处以myapplication01仓库为例):
//1-创建myapplication01仓库
mkdir myapplication01
//2-进入myapplication01
cd myapplication01
//3-初始化仓库
git init
//3-创建README.md文件
touch README.md
//4-add README.md
git add README.md
//5-commit
git commit -m "first commit"
//6-绑定远端仓库
git remote add origin https://gitee.com/djcking/myapplication01.git
//7-首次推送到远端origin的master分支
git push -u origin "master" 或者 git push -u origin master
或者
git push -u origin main
【因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
//后续再推送,不需要再带-u参数
git push origin "master" 或者 git push origin master
或者
git push origin main
【因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
b:已有git仓库:
//1-进入已经存在的git仓库(此处以myapplication01仓库为例)
//cd existing_git_repo
cd myapplication01
//2-绑定远端仓库
git remote add origin https://gitee.com/djcking/myapplication01.git
//3-首次推送到远端origin的master分支
git push -u origin "master" 或者 git push -u origin master
或者
git push -u origin main
【因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
//后续再推送,不需要再带-u参数
git push origin "master" 或者 git push origin master
或者
git push origin main
【因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
详细配置过程
可参考我这篇文章:GitHub&Gitee&Gitlab&极狐(JihuLab)同时生成并配置和检测不同SSH公私钥详细过程
Git全局设置
git config --global user.name "GiHub用户名"
git config --global user.email "GitHub邮箱"
a:还没有git仓库,创建 git 仓库(此处以myapplication01仓库为例):
//1-创建myapplication01仓库
mkdir myapplication01
//2-进入myapplication01
cd myapplication01
//3-初始化仓库
git init
//4-创建README.md文件
touch README.md
//5-add README.md
git add README.md
//6-commit
git commit -m "first commit"
//7-绑定远端仓库
git remote add origin git@gitee.com:djcking/myapplication01.git
//8-首次推送到远端origin的master分支
git push -u origin "master" 或者 git push -u origin master
或者
git push -u origin main
【因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
//后续再推送,不需要再带-u参数
git push origin "master" 或者 git push origin master
或者
git push origin main
【因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
b:已有git仓库:
//1-进入已经存在的git仓库(此处以myapplication01仓库为例)
//cd existing_git_repo
cd myapplication01
//2-绑定远端仓库
git remote add origin git@gitee.com:djcking/myapplication01.git
3-首次推送到远端origin的master分支
git push -u origin "master" 或者 git push -u origin master
或者
git push -u origin main
【因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
//后续再推送,不需要再带-u参数
git push origin "master" 或者 git push origin master
或者
git push origin main
【因为GitHub之前的默认分支一直就是master,但2020年10月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
更简单的使用方式
:直接建远端仓库后
,clone到本地
,无需
初始化(git init
)和绑定仓库(git remote add origin URL
),可以直接使用
。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。