如何提交代码至git以及github

提交至git

一,工作流介绍

① 你的本地工作由git维护的三棵树组成。

1,工作目录,指实际持有的文件;
2,缓存区index(stage),缓存区域,临时保存你的改动;
3,HEAD区,指最近提交后的结果;

工作流图示

二,提交至本地仓库

① 在working dir中创建的文件如何添加进index区中。

方法:使用add命令;
例子:在git中创建本地库.git后,在.git中touch a1文件,然后用命令git add a1,可以将文件添加进index区。

提交至本地仓库图示
③ 提交历史至HEAD并记录。(可提交多次并进行存档。)

方法:使用commit命令;
例子:将a1添加进了index区后,使用命令git commit a1可进行提交,询问身份的话用git config 名字和邮箱 提交。提交后会进入vi编辑器(此编辑器可进行文件内容的修改),修改完后保存退出就提交成功。

由git提交至github

一,关于github的ssh公钥

① 如何生成ssh公钥:

1,复制ssh-keygen -t rsa -C 代码,然后在后面添加"邮箱地址"

ssh-keygen -t rsa -C

2,按下回车后,询问要不要密码,需要的输入不需要的回车,得到以下结果

其中该地址为公钥保存的地址

公钥地址

3,复制地址,并且cat该地址,(注意,最后的点不要复制),得出公钥并复制

第二行起是公钥

第二行起就是公钥。

4,进入github的setting中的ssh and GPG keys点击new ssh key,输入key名称(随意),在下面复制key,
并点击加入该key就可生成

黏贴公钥至github的setting页面
② 远程仓库克隆到本地仓库(git clone "仓库地址" 该命令可将远程仓库拉到本地)

方法:
1,设置了公钥后,在github上建立一个新仓库;

建立新的github仓库

2,复制SSH行内的地址;
3,在git中使用git clone "你的远程仓库地址",添加你的远程仓库进来(要注意你添加进来本地的所在地址);

添加远程仓库到本地
③ 在添加进来的远程仓库中添加文件(例子:添加README.md)

1,进入刚添加进来的远程仓库,并touch一个README.md文件;

2,查看文件是否被git接管,用git status -s(或者--short)命令查看,红色名字或是红色开头就是未接管,绿色则为已接管;(用git add README.md使README.md让git接管。)
ps:git status命令是查看所有信息,git status -s(--short)查看短信息。

接管前查询
接管后查询

介绍命令:git status -sb查看分支与文件信息(绿色为默认分支,红色为远程分支。第二行为文件信息。)

查看分支与文件信息

3,修改文件信息以及注意的事项,用vi README.md修改文件。


vi 修改文件

PS:修改后的文件git会检测出,并且,git不会接管修改后的文件,需要从新add该文件。


修改文件后要重新add进去

4,提交到本地仓库

提交到本地仓库
③ 本地仓库推送到远程仓库(git push )

1,文件提交到本地仓库后,用git push origin master:master (远程仓库名 分支名:本地仓库名)
推送到github远程仓库中。

推送至远程仓库

2,显示效果,此时空的github仓库多了一个文件

多出来的文件
该文件内容,和我修改的一样

git单人操作上传至github

① 创建一个仓库并且在里面创建一个文件,编写一下该文件
步骤①
② 将这个仓库添加并提交至本地仓库
步骤②
③ 创建一个远程仓库并添加该仓库公钥地址
Paste_Image.png

PS:出现如下图的提示(一般采用方法1)
方法1:git config --global push.default matching:一一对应关系
方法2:git config --global push.default simple:简单模式,创建什么提交什么

Paste_Image.png
④ 采用方法1,并且在远程仓库中创建一个分支
采用方法1
创建分支
⑤ 推送至github
推送

新建分支以及删除分支

① 新建本地分支(git branch "分支名")
新建并进入该分支
② 查看本地分支(git branch)
查看分支
③ 切换本地分支 (git checkout "分支名")
切换分支
④ 推送本地分支至github(git add .;git commit .然后git push -u origin "分支名")
推送本地分支到github
⑤ 合并本地分支以及删除本地分支(合并分支git merge "分支名",删除分支git branch -d "分支名")
Paste_Image.png

PS:
1,当前所处的分支不能删除,切换到其他分支后才能删除;
2,未合并的分支不能删除,一定删除用git branch -D "分支名";

⑤ 删除github上的分支

1,查看github分支:①在github上查看;

查看github上的分支

②git上查看(git branch -a);

在git中查看github上的分支

2,删除分支:(git push origin [不谢本地分支名,直接推送一个空格]: "要删除的分支名")

删除github上的分支

反悔功能(重置)

① 查看修改的过程(git log)
查看修改过程
② 返回某一步过程(git reset "前六位过程码",这是让HEAD回溯过程)
回溯过程并查看
③ git reset --hard "前六位过程码"(让硬盘也做修改,慎用)
让硬盘也做修改
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 14,654评论 9 163
  • 如今很多人说的非常好听,说自己多大方从不计较,而且有些方面真的很大方,比如说请吃饭一些小的事情,掩饰的非常好,合作...
    李基锋阅读 1,469评论 0 0
  • 一个妹子在朋友圈上发的:25年零8个月了,在战火纷飞的年代里,我独善其身。我想给你最完整的我自己!亲爱的,等待你,...
    Achenxin阅读 1,410评论 0 0
  • 时间是个好东西,验证了人心,见证了人性。 人生,努力了,珍惜了,问心无愧。虽然我不完美,但我很真实...
    东江之子阅读 5,392评论 0 3
  • 安全?还是便捷?U-key作为网银安全验证的年代,似乎很难两全。想便捷,就要接受较低的安全等级; 要安全,必须...
    铎_20ec阅读 3,964评论 0 0