小白学Git

作者: 李先来贰 | 来源:发表于2019-03-07 12:55 被阅读161次

一. 在GitHub上创建一个项目,通过命令行添加、删除、修改文件,并上传修改

1.在GitHub上新建一个项目【just do it】,在克隆代码时注意用ssh

FireShot Capture 006 - 你的账号_just-do-it - github.com.png

2.使用git,进入testing文件夹

Administrator@Y0U59FIFWUQDZ1D MINGW64 /
$ cd ~/Desktop/testing

3.初次尝试克隆代码到testing文件夹中

$ git clone git@github.com:你的账号/just-do-it.git

此时发现问题,不能克隆。需要设置公钥私钥

4.设置公钥私钥(不然会报错,另外注意空格跟C的大写)
其中公钥是id.rsa.pub
私钥是id_rsa

$ ssh-keygen -t rsa -b 4096 -C "你的邮箱"
Generating public/private rsa key pair.

Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Y64naDNKEgYeWjckTF1CEIiz61o46ce0pVxEdNk2QxI 你的邮箱
The key's randomart image is:
+---[RSA 4096]----+
|.+===o.E=.       |
|+ .o.o...=       |
|.+. +   . o      |
|=... o           |
|o+  .   S        |
|o+ . o o .       |
|* * =.  .        |
|.* *= ...        |
|o.oo o.o         |
+----[SHA256]-----+

获取公钥私钥的两种方式
第一种,进入家目录下的.ssh文件,直接用vim打开公钥

$ cd ~/.ssh

ps: ls查看当前内容后可见公钥与私钥文件

Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/.ssh
$ ls
id_rsa  id_rsa.pub  known_hosts

使用vim打开公钥,复制后,使用 :wq 保存退出

$ vim id_rsa.pub

第二种,使用cat直接显示公钥内容,复制粘贴

$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCxqhteqvM/RuMDa6QOReFWNN2L5ADhVfKXxFaQUELilN08kc7JaVfMg0xXLwe3Ap6CC2oCI0LHqb8gA+WFjv24EOim/q/2LzybAPaU8q1KAkW8ip4IoY03IV6/fjKUlGJcaHtOQybvbgSy9BGIJoItR/1XrLkAI9gH3C7FvMJWZRh4wIqwIa29UpZUYW8xBz91hara3BO7vGNN37bWMKyAFlU76plkO3yeFvZeyf7rcwKFsrLvHkClfejHmVN5CRt1Bf1Rvmqt4lWkQmqzsj4/jxk1KavIlTlAuGU9sf4rE2PAx3k4cUsluUDfrUJAvCSc3WPpYnZbM2dUqDtI1UJKKcOdGBQld3fT35uElMIi7wKjeZ9lm+D8LEUAnbQCQ6/RV3LNiIjrpfTHNhvhXMDRAvrvjqWNtVFHa2S2lvpwMCmCw9mgzfSpcSpq1BPu1RMFzb+FKVZtbOu5k482iTMp7DI9C4I9tFl2H0AnpmF6s1ZlXyyCrw/egKOzKacqgTZF/sFpyGhJPZmkv88BQJpzLD9lGUI/pNH9U0fFmOEYziUizfwPkRBC6mki6WzCSGsVn+UIx2DEryERPgpZecE1Prsq4BkH6kL8j3IYuglGNXJ7FP/XGUpSc23sxxT9ptNaljzAyaYdc6yzIVz0ElyzJDm+3qsXjMg9R7kTBDiEFw== 你的邮箱

5.GitHub设置中确定自己ssh的公钥
在GitHub上点击头像,选择setting
点击左侧的ssh and gpg keys,添加自己的ssh的公钥

6.再次克隆,成功

 git clone git@github.com:你的账号/just-do-it.git
Cloning into 'just-do-it'...
Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (3/3), done.
Receiving objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0

使用ls查看本地桌面的testing文件夹内,出现了GitHub上文件夹just-do-it ,克隆成功

Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop/testing
$ ls
just-do-it/

继续打开just-do-it文件夹

Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop/testing
$ cd just-do-it

用ls查看just-do-it中的文件

Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop/testing/just-do-it (master)
$ ls
'just try'   README.md


7.在testing文件夹内创建一个文件a.html
在just-do-it中添加文档,overwatch.html 在其中输入内容I love this game

Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop/testing/just-do-it (master)
$ touch overwatch.html

Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop/testing/just-do-it (master)
$ vim overwatch.html

在使用vim时,点击i进入编辑模式,退出时先按Esc,再按:wq保存退出。
除此之外,也可以用echo "添加的内容" > a.md (这是直接添加)

8.将修改内容放到暂存库,然后将其放到本地库,配置email和name
提交到暂存区

$ git add .

再尝试提交到本地库

$ git commit -am "add file"

出现提示,填写邮箱和姓名

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repositor

fatal: unable to auto-detect email address (got 'Adminis

按照提示输入自己的邮箱与姓名

Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop/testing/
$ git config --global user.email "你的邮箱"


Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop/testing/
$ git config --global user.name "你的名字"

(注意email和name后面要有空隙)

再次尝试提交到本地区

git commit -am "add files"

9.上传到GitHub上
输入git push,成功上传(非第二次操作,暂不延伸)

git push

Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 344 bytes | 344.00 KiB/s, d
Total 3 (delta 0), reused 0 (delta 0)
To github.com:1643565650/just-do-it.git
   a1fb092..c7af4e4  master -> master

上GitHub上检查,是否有overwatch.html(这里是有的,里面内容也正确,我就不打开了)

FireShot Capture 007 - 1643565650_just-do-it - github.com.png

二.在本地创建一个Git项目,推送到远程空仓库

  • 在GitHub上创建新的库
    (略)

  • 使用命令行在桌面创建文件夹test1

Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop
$ mkdir test1
  • 将test1用git init初始化,没有git后缀,就无法放入暂存区和本地仓,也无法上传到GitHub上
Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop/test1
$ ls -a
./  ../

Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop/test1
$ git init
Initialized empty Git repository in C:/Users/Administrator/Desktop/test1/.git/

Administrator@Y0U59FIFWUQDZ1D MINGW64 ~/Desktop/test1 (master)
$ ls -a
./  ../  .git/


(上方可见,未初始化之前与之后的差别,多了.git后缀)
  • 在test1中新建文件README.md
- 在READEME.md中输入内容
echo "内容" >> README.md
  • 将远端库地址用git标签的方式记录下来
要提交给谁呢?下面的意思是,将对应的地址增加一个叫做origin的标签
git remote add origin git@github.com:你的账号/test1.git
  • 将文件传送到标签相应的地址
git push -u origin(这里也可以用上方的远端地址代替) master
(根据标签,将内容提交到远程库(origin)的master分支上)
(提交过一次后,后面的origin master可以省略)

以下为补充:
放入暂存区时

git add <要上传的文件>
只是这一个文件进入暂存区
或者
git add .
这可以让当前目录下的所有新增与修改都放入暂存区。
之前学命令行时  cd . 就代表当前文件夹 )

提交后的文件夹也可以使用下面代码,退出暂存区

git reset HEAD <file>...

再把暂存库中的内容提交给本地库

这里需要注意,如果提交信息包含大量字符串,提交参数不用加 m

git commit -a  
# 强制推送,覆盖别人的代码
git push -f origin master

# 再添加一个远程库的标签 
git remote add gitlab git@gitlab.com:xxxx.git

#推送到gitlab标签的地址上
git push gitlab master

# 删除gitlab标签
git remote remove gitlab

# 修改rigin标签对应的地址
git remote set-url origin git@github.com:xxxxx.git

# 修改origin标签对应的地址
git remote set-url origin git@github.com:xxxxx.git

# 把gitlab标签改名为coding
git remote rename gitlab coding

删除也是同理,前提是本地仓与远程仓在开始时,文件是相同的,也走暂存仓,本地仓,远程仓的路。
只是在提交到本地仓时,代码要将add变成delete

git commit -am "delete a.md"

三. 分支处理

  • 基本命令符
# 创建本地库zhixian 分支
git branch zhixian

#切换到zhixian分支
git checkout zhixian

# 在该分支创造文件同理

#推送到origin地址的zhixian分支上
git push origin zhixian

分支合并

git checkout (分支名)
git merge zhixian(分支名字)把zhixian的内容合并到当前的分支上

本文为李宪骁的原创文章,著作权归本人和饥人谷所有,转载务必注明来源

相关文章

  • 小白学git

    git学习之路 什么是git? git是一些命令工具的集合它可以用来追踪,记录文件的变动。它是采取分布式管理,分布...

  • 小白学Git

    什么是Git?什么是Git的仓库与分支? Git 主页上的定义:Git is a free and open so...

  • 小白学Git

    一. 在GitHub上创建一个项目,通过命令行添加、删除、修改文件,并上传修改 1.在GitHub上新建一个项目...

  • git技术,GitHub、GitLab

    git学习 Git教程(小白快速入门版) Git教程(简化版) git详细学习 Gitlab的管理使用手册git初...

  • Git的分支管理

    学git看菜鸟教程真的很棒,名副其实的我这种菜鸟小白利器再次安利直通车地址:https://www.runoob....

  • 会计学小白成长之路——顺序集

    会计学小白成长之路1 会计学小白成长之路2 会计学小白成长之路3 会计学小白成长之路4 会计学小白成长之路5 会计...

  • git小白

  • git -小白

    安装好git后,直接打开,进行配置。 一、用户配置 二、生成SSH公钥 (1)输入下面命令,查看是否已存在SSH公...

  • GitHub入门级教程

    本篇仅针对无git使用经验的小白 1 安装Git GitHub,没有git怎么hub?所以第一步,我们要到git官...

  • Hexo+GitHub搭建免费个人博客详细教程

    一、安装前提 1、你的电脑已经安装好Git,并且已经配置好了,如果没有请先移步:小白的git使用指南(一)小白的g...

网友评论

    本文标题:小白学Git

    本文链接:https://www.haomeiwen.com/subject/yvuqpqtx.html