Git使用教程 温故而知薪

Git使用教程


首先,在使用大量工具和idea的集成环境后,突然发现好多git命令不会用了, 这里重新温顾一下:

1 git安装

1.1 下载

https://git-scm.com/ 下载地址,根据自己的操作系统下载对应版本的git

1.2 初始化仓库

仓库用来存放git备份的资源

git init

在这里插入图片描述

1.3 git 配置用户信息
git config --global user.name "shi860715" #用户
git config --global user.email "shi860715@126.com" #邮箱

1.4 添加文件
git add ./readme.md
1.5 本地提交
git commit -m "提交说明"



Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git add .

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git commit -m "first time up "
[master (root-commit) a4a3b4f] first time up
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 readme.md

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$

1.6 查看工作区状态
git status #工作区状态

#当文件没有修改时
Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git status
On branch master
nothing to commit, working tree clean


#当文件有修改时
Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ 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:   readme.md

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


Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ 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:   readme.md

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        hello.js

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

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git add ./ # 批量添加



Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   hello.js
        modified:   readme.md




1.7 全部添加
git commit --all -m "直接添加所有的文件"
1.8 查看日志
git log #查看提交的日志





Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git log
commit 631277e006abcfb03c243bc0f2153a3c2689b428 (HEAD -> master)
Author: shi860715@126.com <shi860715@126.com>
Date:   Thu Dec 17 13:09:17 2020 +0800

    添加hello js 和添加新功能

commit 4b7f90834e0bdb481060735493d70e8945f96e39
Author: shi860715@126.com <shi860715@126.com>
Date:   Thu Dec 17 11:55:39 2020 +0800

    three time up

commit 8dd7d9c300e9d9f97ca46b2470ca9ccae9fad36c
Author: shi860715@126.com <shi860715@126.com>
Date:   Thu Dec 17 11:55:06 2020 +0800

    second time up

commit a4a3b4f2110daef706e888ffc78398575bfeb373
Author: shi860715@126.com <shi860715@126.com>
Date:   Thu Dec 17 11:51:52 2020 +0800

    first time up
    
git log --oneline # 查看提交日志显示为单行模式

$ git log --oneline
631277e (HEAD -> master) 添加hello js 和添加新功能
4b7f908 three time up
8dd7d9c second time up
a4a3b4f first time up


1.9 版本回退
git reset --hard Head~0 #将本地版本回退到最新的状态。 0 表示最新 1 表示回退到第二个版本 以此类推

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git reset --hard HEAD~0
HEAD is now at 631277e 添加hello js 和添加新功能

 git reset --hard 631277e #通过版本号来精确的回退

#指定版本信息来进行版本回退
Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git reset --hard 631277e
HEAD is now at 631277e 添加hello js 和添加新功能


git reflog  #查看每一次版本切换的记录


Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git reflog
631277e (HEAD -> master) HEAD@{0}: reset: moving to 631277e
a4a3b4f HEAD@{1}: reset: moving to HEAD~0
a4a3b4f HEAD@{2}: reset: moving to HEAD~3
631277e (HEAD -> master) HEAD@{3}: reset: moving to HEAD~0
631277e (HEAD -> master) HEAD@{4}: commit: 添加hello js 和添加新功能
4b7f908 HEAD@{5}: commit: three time up
8dd7d9c HEAD@{6}: commit: second time up
a4a3b4f HEAD@{7}: commit (initial): first time up

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)

1.10 分支创建、切换、合并
#创建分支 刚创建的时候,dev分支和master分支是一样的
git branch dev
#查看分支
git branch
#切换分支
git checkout dev 
--------------------------------------------------------------------测试创建分支

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git branch dev  #创建分支

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git branch   #查看分支状态
  dev
* master
-----------------------------------------------------------------------测试切换分支
Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git checkout dev  #切换分支
Switched to branch 'dev'

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (dev)
$ git branch  #查看分支状态
* dev
  master
------------------------------------------------------------------------测试分支合并
Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (dev)
$ git commit --all -m "dev 分支开发了一半了"
[dev 59ef6c6] dev 分支开发了一半了
 1 file changed, 3 insertions(+), 1 deletion(-)

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (dev)
$ git commit --all -m "dev 分支开发了已经完成了"
[dev e947d08] dev 分支开发了已经完成了
 1 file changed, 3 insertions(+), 1 deletion(-)

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (dev)
$ git checkout master #切换回主分支
Switched to branch 'master'

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git merge dev #合并分支  把当前master分支和指定的分支进行合并
Updating 631277e..e947d08
Fast-forward
 readme.md | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git log --oneline #查看主分支日志
e947d08 (HEAD -> master, dev) dev 分支开发了已经完成了
59ef6c6 dev 分支开发了一半了
631277e 添加hello js 和添加新功能
4b7f908 three time up
8dd7d9c second time up
a4a3b4f first time up


git branch -d dev #删除dev分支

合并时候,如果有冲突,需要手动去处理。处理后还需要提交一次

1.11 将本地代码上传到gitee
#git push上传命令  后面上传地址  上传的分支
git push git@gitee.com:shi860715/myvue.git master

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (dev)
$ git push git@gitee.com:shi860715/myvue.git master
Enumerating objects: 18, done.
Counting objects: 100% (18/18), done.
Delta compression using up to 16 threads
Compressing objects: 100% (13/13), done.
Writing objects: 100% (18/18), 1.53 KiB | 1.53 MiB/s, done.
Total 18 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-5.0]
To gitee.com:shi860715/myvue.git
 * [new branch]      master -> master

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (dev)

----------------------------------------------------------------------------完成分支上传和主分支合并上传的功能

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (dev)
$ git commit --all -m "dev 分支添加新功能"
[dev 0972fd5] dev 分支添加新功能
 1 file changed, 3 insertions(+), 1 deletion(-)

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (dev)
$ git push git@gitee.com:shi860715/myvue.git dev
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 356 bytes | 356.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-5.0]
To gitee.com:shi860715/myvue.git
   e947d08..0972fd5  dev -> dev

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (dev)
$ git checkout master
Switched to branch 'master'

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git merge dev
Updating e947d08..0972fd5
Fast-forward
 readme.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)
$ git push git@gitee.com:shi860715/myvue.git master
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-5.0]
To gitee.com:shi860715/myvue.git
   e947d08..0972fd5  master -> master

Administrator@DESKTOP-KLL643E MINGW64 /d/vue_beatiful/myvue (master)

1.12 远程拉去仓库
git pull git@gitee.com:shi860715/myvue.git master # 拉去命令  地址  仓库(本地要初始化仓库)


------------------------------------------------------------模拟sh用户拉去git代码
Administrator@DESKTOP-KLL643E MINGW64 ~/Desktop/SH
$ git init
Initialized empty Git repository in C:/Users/Administrator/Desktop/SH/.git/

Administrator@DESKTOP-KLL643E MINGW64 ~/Desktop/SH (master)
$ git pull git@gitee.com:shi860715/myvue.git master
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 21 (delta 4), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (21/21), 1.80 KiB | 28.00 KiB/s, done.
From gitee.com:shi860715/myvue
 * branch            master     -> FETCH_HEAD


Administrator@DESKTOP-KLL643E MINGW64 ~/Desktop/SH (master)
$ git log --oneline
0972fd5 (HEAD -> master) dev 分支添加新功能
e947d08 dev 分支开发了已经完成了
59ef6c6 dev 分支开发了一半了
631277e 添加hello js 和添加新功能
4b7f908 three time up
8dd7d9c second time up
a4a3b4f first time up


1.13 clone的方式
git clone 地址 # 会得到远程仓库相同的数据,如果多次执行会覆盖本地内容,而使用pull 则不会覆盖
1.14 ssh
ssh-keygen -t rsa -C "邮箱"
#然后一直下一步就可以  然后公钥贴到gitee中就行
1.15 先pull 在push

在实际开发中经常遇到服务器版本与本地版本不一致的情况,建议,先进行pull 在进行push。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值