一. 在GitHub上创建一个项目,通过命令行添加、删除、修改文件,并上传修改
1.在GitHub上新建一个项目【just do it】,在克隆代码时注意用ssh
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的内容合并到当前的分支上
本文为李宪骁的原创文章,著作权归本人和饥人谷所有,转载务必注明来源
网友评论