当前位置:   article > 正文

使用git命令行方式提交项目到GitHub_git 命令行提交

git 命令行提交

最新相关博客:GitHub&Gitee&Gitlab&极狐(JihuLab)同时生成并配置SSH公私钥详细过程 2023-9-9 09:06:16
master分支与main分支的问题

一、Git工作流程和相关图解

1.1 Git工作流程

Git是目前世界上最先进的分布式版本控制系统,学习之前你需要对它的工作流程有个了解。
工作目录(working dir或者worksapce)
缓存区暂存区Index或stage
HEAD(指向你最近一次提交后的结果) 指向当前活动分支即最新提交的一个指针引用
HEAD始终指向当前的活动分支,当存在多个分支时,唯一只能有一个处于当前活动状态,即当前活动分支只能有一个
local repository(本地版本库)
remote repository(远端版本库)
在这里插入图片描述
在这里插入图片描述

1.2 相关图解和常用命令

在这里插入图片描述

二、学习用命令行方式提交

前提:需要配置好SSH-key,可参考此文章->Git同时配置Gitee和GitHub两个不同的SSH-Key

2.1 创建一个Github仓库,StudyVC。

在这里插入图片描述
点击复制此处的仓库地址。
在这里插入图片描述

2.2 初始化本地仓库(git init)

D:\project\IdeaProjects\StudyVC文件夹中,右击git bash here,在此文件夹中打开git命令行
在这里插入图片描述
在这里插入图片描述
执行git init 命令后,会发现StudyVC文件夹里会新增一个.git的隐藏文件夹(需要设置电脑才能看到,如果你的电脑上看不到,可能你设置了“隐藏文件不可见”),同时StudyVC文件夹图标左下角会多一个绿色的对钩
在这里插入图片描述

2.3 将文件添加add到缓存区index中(git add *)

此时的文件位于工作目录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 文件名

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

在这里插入图片描述

2.4 git commit 将文件从缓存区index中提交commit到HEAD(HEAD指向你最近一次提交后的结果)中

这是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:
可以发现还是我们之前创建仓库时自动生成的几个文件,也就证实了本地文件确实还没有提交到远端仓库中。
在这里插入图片描述

2.5 将本地仓库与远端仓库进行绑定(git remote add origin URL)

继续输入git remote add origin URL ,URL这里填写第1步复制的远端仓库StudyVC的地址,表示将本地仓库远端仓库进行绑定,即将它设置为本地仓库的远程仓库。此时远端仓库中还是没有本地提交的内容,因为还没有执行关键的push命令。
在这里插入图片描述

2.6 git 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提交的内容:
在这里插入图片描述

2.7 关于git push -u origin master 或 git push - u origin main中的-u参数的权威说明

注意
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,但202010月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】


//后续再推送,不需要再带-u参数
git push  origin "master" 或者 git push  origin master
或者
git push  origin main 
【因为GitHub之前的默认分支一直就是master,但202010月后GitHub宣布:新建项目的默认分支将从
master逐步改为main。】
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

四、Git的HTTPS和SSH方式的命令行入门教程

:SSH的git@gitee.com:djcking/myapplication01.git和HTTPShttps://gitee.com/djcking/myapplication01.git直接从仓库中点击复制粘贴使用即可,以哪种方式配置,就复制使用哪一种。

4.1 HTTPS(需以HTTPS方式配置使用Git)

Git全局设置

git config --global user.name "GiHub用户名"
git config --global user.email "GitHub邮箱"
  • 1
  • 2
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。】
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61

4.2 SSH(需以SSH方式配置使用Git)

详细配置过程可参考我这篇文章:GitHub&Gitee&Gitlab&极狐(JihuLab)同时生成并配置和检测不同SSH公私钥详细过程
Git全局设置

git config --global user.name "GiHub用户名"
git config --global user.email "GitHub邮箱"
  • 1
  • 2
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。】
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60

更简单的使用方式:直接建远端仓库后clone到本地无需初始化(git init)和绑定仓库(git remote add origin URL),可以直接使用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/885839
推荐阅读
相关标签
  

闽ICP备14008679号