Git and GitHub使用方法详细总结

Git and GitHub使用方法详细总结

一、Git的使用方法

1.设置用户名和邮箱
git config --global 参数表示这台机器上所有的Git仓库都会使用这个用户名和邮箱配置

$ git config --global user.name "zhengzaifeidelushang"


$ git config --global user.email "1755009629@qq.com"

2.初始化git仓库
创建git文件夹,根目录下点击右键运行Git bash here,使用git init 命令初始化git仓库,创建了一个.git目录,这个目录是Git用来跟踪管理版本的。

$ git init
Initialized empty Git repository in D:/git/.git/

在这里插入图片描述
3.添加文件到暂存区

fy@LT5CG9072G7J MINGW64 /d/git (master)
$ git add git-test.txt

没有提示说明添加成功

4.提交文件到仓库

$ git commit -m '提交git-test的txt文本到仓库'
[master fbdb923] 提交git-test的txt文本到仓库
 1 file changed, 1 insertion(+)
 create mode 100644 git-test.txt

5.查看状态
如下所示显示文件全部提交

$ git status
On branch master
nothing to commit, working tree clean

6.修改git-test添加一行bbb,再次查看状态
如下所示,文件已经被修改,但是未被提交

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   git-test.txt

no changes added to commit (use "git add" and/or "git commit -a")

7.查看文件修改的内容
如下所示,添加了一行bbb

$ git diff git-test.txt
diff --git a/git-test.txt b/git-test.txt
index 72943a1..c0b7069 100644
--- a/git-test.txt
+++ b/git-test.txt
@@ -1 +1,3 @@
 aaa
+
+bbb
\ No newline at end of file

8.提交修改到仓库

$ git add git-test.txt

$ git commit -m "git-test增加一行bbb"
[master 6e03f1c] git-test增加一行bbb
 1 file changed, 2 insertions(+)

$ git status
On branch master
nothing to commit, working tree clean

9.查询提交的历史记录

$ git log

commit 6e03f1cc010b08738676c95718196b0d68e1afba
Author: zhengzaifeidelushang <1755009729@qq.com>
Date:   Thu Mar 11 08:43:26 2021 +0800

    git-test增加一行bbb

commit bf36f26872bfb8c0700f928b1ff3e387f06f9822
Author: zhengzaifeidelushang <1755009729@qq.com>
Date:   Thu Mar 11 08:32:03 2021 +0800

    提交git-test的txt文本到仓库

git log --pretty=oneline可以只显示关键信息

$ git log --pretty=oneline
6e03f1cc010b08738676c95718196b0d68e1afba git-test增加一行bbb
bf36f26872bfb8c0700f928b1ff3e387f06f9822 提交git-test的txt文本到仓库

10.版本回退
git-test再增加一行ccc,上传到仓库后,回退到上一个版本

$ git diff git-test.txt
diff --git a/git-test.txt b/git-test.txt
index c0b7069..e89cc6c 100644
--- a/git-test.txt
+++ b/git-test.txt
@@ -1,3 +1,4 @@
 aaa

-bbb
\ No newline at end of file
+bbb
+ccc
\ No newline at end of file

添加文件到暂存区,并提交到仓库


$ git add git-test.txt


$ git commit -m "git-test增加一行ccc"
[master 3343a06] git-test增加一行ccc
 1 file changed, 2 insertions(+), 1 deletion(-)


$ git status
On branch master
nothing to commit, working tree clean

查看提交的历史记录

$ git log --pretty=oneline
3343a0676923a189d8de71f5d2369ba895ea2ae6 (HEAD -> master) git-test增加一行ccc
6e03f1cc010b08738676c95718196b0d68e1afba git-test增加一行bbb
bf36f26872bfb8c0700f928b1ff3e387f06f9822 提交git-test的txt文本到仓库

回退到上一个版本使用git reset --hard HEAD^
回退到上上个版本使用git reset --hard HEAD^^或者git reset --hard HEAD~2

$ git reset --hard HEAD^
HEAD is now at 6e03f1c git-test增加一行bbb

查看回退到的版本

$ git log
commit 6e03f1cc010b08738676c95718196b0d68e1afba (HEAD -> master)
Author: zhengzaifeidelushang <1755009729@qq.com>
Date:   Thu Mar 11 08:43:26 2021 +0800

    git-test增加一行bbb

commit bf36f26872bfb8c0700f928b1ff3e387f06f9822
Author: zhengzaifeidelushang <1755009729@qq.com>
Date:   Thu Mar 11 08:32:03 2021 +0800

    提交git-test的txt文本到仓库


$ cat git-test.txt
aaa

bbb

11.查看版本号

$ git reflog
6e03f1c (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
3343a06 HEAD@{1}: commit: git-test增加一行ccc
6e03f1c (HEAD -> master) HEAD@{2}: commit: git-test增加一行bbb
bf36f26 HEAD@{3}: commit (initial): 提交git-test的txt文本到仓库

12.使用版本号回退到任何版本
使用git reset --hard 版本号回退到最新版

$ git reset --hard 3343a06
HEAD is now at 3343a06 git-test增加一行ccc


$ git log --pretty=oneline
3343a0676923a189d8de71f5d2369ba895ea2ae6 (HEAD -> master) git-test增加一行ccc
6e03f1cc010b08738676c95718196b0d68e1afba git-test增加一行bbb
bf36f26872bfb8c0700f928b1ff3e387f06f9822 提交git-test的txt文本到仓库

$ cat git-test.txt
aaa

bbb
ccc

13.撤销修改
在这里插入图片描述

$ git checkout -- git-test.txt

在这里插入图片描述

14.只能撤销没有上传到暂存区的内容
添加一行eee上传到暂存区
在这里插入图片描述

$ git add git-test.txt

接着添加一行fff,没有上传到暂存区
在这里插入图片描述
使用撤销命令,把未添加到暂存区的内容撤销掉

$ git checkout -- git-test.txt

在这里插入图片描述

15.恢复删除的文件

在这里插入图片描述
添加上传到仓库

$ git add test.txt

$ git commit -m "测试上传"
[master 34dffaf] 测试上传
 2 files changed, 3 insertions(+), 1 deletion(-)
 create mode 100644 test.txt

删除test.txt

$ rm test.txt

查看test.txt已经删除,可以从版本库中恢复被删掉的test.txt,也可以直接commit删掉仓库中的test.txt

$ git status
On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    test.txt

从版本库中恢复test.txt到本地目录

$ git checkout test.txt

在这里插入图片描述
16.彻底删除本地和仓库中的文件
本地删除test.txt

$ rm test.txt

$ git status
On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    test.txt

通过commit永久删掉仓库中的test.txt

$ git add .

$ git commit -m "删除版本库中的test.txt"
[master 16ff81e] 删除版本库中的test.txt
 1 file changed, 1 deletion(-)
 delete mode 100644 test.txt

17.创建并切换分支
Git里主分支即master分支,HEAD指向当前分支。

  • git checkout –b kafka:表示创建并切换到kafka分支
  • git branch kafka:表示创建kafka分支
  • git checkout kafka:表示切换到kafka分支
$ git checkout -b kafka
Switched to a new branch 'kafka'

查看当前分支

$ git branch
* kafka
  master

18.合并分支
添加一行fff
在这里插入图片描述

$ git add git-test.txt

$ git commit -m "kafka分支上增加内容fff"
[kafka dba123b] kafka分支上增加内容fff
 1 file changed, 3 insertions(+), 1 deletion(-)

切换回master分支,并.看git-test.txt的内容

$ git checkout master
Switched to branch 'master'

$ cat git-test.txt
aaa
bbb
ccc
ddd
eee

在master分支上,合并kafka分支上的内容到master分支上
git merge命令用于合并指定分支到当前分支上,合并后,master分支上的git-test内容应该和kafka分支上的内容是一样的。

$ git merge kafka
Updating 16ff81e..dba123b
Fast-forward
 git-test.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

kafka分支上增加的一行fff成功合并到master分支上

$ cat git-test.txt
aaa
bbb
ccc
ddd
eee
fff

19.删除分支

$ git branch -d kafka
Deleted branch kafka (was dba123b).

二、GitHub使用方法

1.申请git账号

git注册地址
在这里插入图片描述
2.创建git仓库
在这里插入图片描述
3.初始化git仓库
创建git文件夹git_repository,根目录下点击右键运行Git bash here,使用git init 命令初始化git仓库,创建了一个.git目录,这个目录是Git用来跟踪管理版本的。

$ git init
Initialized empty Git repository in D:/git/.git/

在这里插入图片描述
4.设置用户名和邮箱
git config --global 参数表示这台机器上所有的Git仓库都会使用这个用户名和邮箱配置

$ git config --global user.name "zhengzaifeidelushang"

$ git config --global user.email "1755009729@qq.com"

5.创建SSH Key

$ ssh-keygen -t rsa -C "1755009729@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/yangfei/.ssh/id_rsa):
Created directory '/c/Users/yangfei/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/yangfei/.ssh/id_rsa
Your public key has been saved in /c/Users/yangfei/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:I+TupR+pg2MQaq2yAxF5JuJ70QICURny8AmFLwk/+7k 1755009729@qq.com
The key's randomart image is:
+---[RSA 3072]----+
|B*+o             |
|OB+.             |
|=O= . .          |
|+.=o +           |
| +o+o o S        |
|oooo . . o       |
|o oo o. +        |
|o.  *..+ .       |
|oo .Eo+o.        |
+----[SHA256]-----+

6.查看生成的公钥和私钥
.在这里插入图片描述
7.复制id_rsa.pub中的内容,登录GitHub,添加SSH Key

在这里插入图片描述
8.复制创建的bigdata仓库的HTTP地址
在这里插入图片描述
9.将github上创建的bigdata仓库克隆到本地
进入本地/d/git_repository目录下,根目录下点击右键运行Git bash here

$ git clone https://github.com/zhengzaifeidelushang/bigdata.git
Cloning into 'bigdata'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

如下图所示,成功克隆github上bigdata仓库中的文件到本地git_repository目录下
在这里插入图片描述
10.添加github远程仓库

$ git remote add origin https://github.com/zhengzaifeidelushang/bigdata.git

11.将本地代码或文件上传到github上的bigdata仓库

在这里插入图片描述
上传到工作区

$ git add App.java

$ git commit -m "测试上传"
[master 9327fe9] 测试上传
 create mode 100644 App.java

将仓库区中的内容推送到github上
第一次使用git push origin master会出现登录验证,输入GitHub账号和密码,即能成功上传代码或文本到github上

$ git push origin master:base
Enumerating objects: 12, done.
Counting objects: 100% (12/12), done.
Delta compression using up to 4 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (12/12), 1.14 KiB | 166.00 KiB/s, done.
Total 12 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: Create a pull request for 'base' on GitHub by visiting:
remote:      https://github.com/zhengzaifeidelushang/bigdata/pull/new/base
remote:
To https://github.com/zhengzaifeidelushang/bigdata.git
 * [new branch]      master -> base

在这里插入图片描述
在这里插入图片描述
如下图所示,成功上传代码到github
在这里插入图片描述

12.完整示例:创建一个新的git仓库bigdata,并上传文件或代码到github上面

$ mkdir bigdata

$ cd bigdata

$ git init
Initialized empty Git repository in D:/bigdata/.git/

$ git remote add origin https://github.com/zhengzaifeidelushang/bigdata.git

$ git add java

$ git add resources

$ git commit -m "提交代码"
[master (root-commit) 9eaa4d7] 提交代码
 3 files changed, 139 insertions(+)
 create mode 100644 java/com/bigdata/maven/FamilyAccount.java
 create mode 100644 java/com/bigdata/maven/Utility.java
 create mode 100644 resources/META-INF/MANIFEST.MF

$ git status
On branch master
nothing to commit, working tree clean

$ git push origin master
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 4 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (11/11), 2.10 KiB | 307.00 KiB/s, done.
Total 11 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: Create a pull request for 'master' on GitHub by visiting:
remote:      https://github.com/zhengzaifeidelushang/bigdata/pull/new/master
remote:
To https://github.com/zhengzaifeidelushang/bigdata.git
 * [new branch]      master -> master

在这里插入图片描述
13.创建kafka分支并推送到github

$ git branch kafka

$ git checkout kafka
Switched to branch 'kafka'

$ git push origin kafka
zhengzaifeidelushangfeEnumerating objects: 14, done.
Counting objects: 100% (14/14), done.
Delta compression using up to 4 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (12/12), 1.09 KiB | 139.00 KiB/s, done.
Total 12 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: Create a pull request for 'kafka' on GitHub by visiting:
remote:      https://github.com/zhengzaifeidelushang/bigdata/pull/new/kafka
remote:
To https://github.com/zhengzaifeidelushang/bigdata.git
 * [new branch]      kafka -> kafka

在这里插入图片描述

在这里插入图片描述
14.从github上拉取kafka、base分支到本地

$ mkdir git_repository2
$ git init
$ git config --global user.name "zhengzaifeidelushang"
$ git config --global user.email "1755009729@qq.com"
$ git clone https://github.com/zhengzaifeidelushang/bigdata.git
Cloning into 'bigdata'...
remote: Enumerating objects: 38, done.
remote: Counting objects: 100% (38/38), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 38 (delta 1), reused 34 (delta 0), pack-reused 0
Receiving objects: 100% (38/38), 4.77 KiB | 443.00 KiB/s, done.
Resolving deltas: 100% (1/1), done.

$ git remote add origin https://github.com/zhengzaifeidelushang/bigdata.git


$ git checkout -b kafka
Switched to a new branch 'kafka'

$ git pull origin kafka
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 21 (delta 0), reused 21 (delta 0), pack-reused 0
Unpacking objects: 100% (21/21), 1.78 KiB | 22.00 KiB/s, done.
From https://github.com/zhengzaifeidelushang/bigdata
 * branch            kafka      -> FETCH_HEAD
 * [new branch]      kafka      -> origin/kafka


$ git pull origin base
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 412 bytes | 25.00 KiB/s, done.
From https://github.com/zhengzaifeidelushang/bigdata
 * branch            base       -> FETCH_HEAD
 * [new branch]      base       -> origin/base
CONFLICT (modify/delete): git-test.txt deleted in 9327fe91ae95b193be81c5e3355a0c31b2ae7654 and modified in HEAD. Version HEAD of git-test.txt left in tree.
Automatic merge failed; fix conflicts and then commit the result.

15.修改git-test.txt,并上传最新版git-test.txt到Github
在这里插入图片描述

$ git push origin kafka
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 392 bytes | 196.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/zhengzaifeidelushang/bigdata.git
   dba123b..d66968c  kafka -> kafka

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最笨的羊羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值