当前位置:   article > 正文

git使用、github/gitee远程代码仓库_git远程github

git远程github


一、简介

1.Git是什么

  • Git是分布式版本控制系统:他没有中央服务器,每个开发者电脑就是一个完整的版本库。
  • 这样工作时候就不需要联网了,因为版本都是在自己的电脑上。不需要连接中央服务器提交代码。
  • 每一个开发人员的电脑上都有一个本地仓库,我们就可以使用本地仓库来实现代码的管理,我们可以在本地把代码加到版本库中,就可以对文件进行增删改查的操作。
  • 如果我们在开发一个项目时,只有一个开发人员,不需要和别人交换代码,我们只需要本地仓库,不需要远程仓库
  • 如果是多人协作开发项目,那么我们就需要交换代码,这时就需要一个远程仓库。远程和本地仓库中的内容其实是一样的,我们需要做的是将本地仓库向远程仓库复制 一份。如果别人想把远程仓库的代码拿到本地仓库,需要再复制一份!这样其实就是复制了整个仓库。
  • 开发人员从远程仓库复制一份完整的仓库放到本地,如果不需要交换代码就不需要远程仓库,本地就是一个闭环!

Git应用场景介绍
1.多人开发代码管理
2.异地开发代码管理
3.版本管理、版本回滚
······

2.Git的工作流程

1.从远程仓库中克隆(Clone)Git资源作为本地仓库
2.从本地仓库中Checkout代码然后进行代码修改
3.在进行提交前先将代码提交到暂存区
4.提交修改,提交(Commit)到本地仓库,本地仓库中保存修改的各个历史版本
5.在修改完成后,需要和团队成员共享代码时,可以将本地仓库代码Push到远程仓库

在这里插入图片描述

二、git使用

官方网站:git-scm.com
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@server1 ~]# yum install -y git
[root@server1 ~]# mkdir demo
[root@server1 ~]# cd demo/

初始化版本库
[root@server1 demo]# git init        ##推荐不在主目录,以后执行命令在本目录
Initialized empty Git repository in /root/demo/.git/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

查看状态
在这里插入图片描述

[root@server1 demo]# git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

[root@server1 demo]# git status  -s		 #简化输出

[root@server1 demo]# echo test > README.md
[root@server1 demo]# ls
README.md
[root@server1 demo]# git status  -s
?? README.md                             ##新建的文件,没有添加至版本库


[root@server1 demo]# git add README.md
[root@server1 demo]# git status  -s
A  README.md                             ##新建的文件被添加至暂存区

[root@server1 demo]# git config --global user.email "gong@westos.org"   ##加个人信息
[root@server1 demo]# git config --global user.name "gong"   ##加个人信息
[root@server1 demo]# git commit -m "add README.md"          ##提交暂存区的数据

[root@server1 demo]# echo hello >> README.md
[root@server1 demo]# git status -s
 M README.md                                  ##文件在工作区被修改;可以撤销

[root@server1 demo]# git add README.md
[root@server1 demo]# git status -s
M  README.md                                  ##M变为左边,表示被添加至暂存区;reset可以撤销

[root@server1 demo]# echo world >> README.md
[root@server1 demo]# git status -s
MM README.md                                  ##一部分在暂存区,一部分在工作区

[root@server1 demo]# git commit -m "v1"       ##提交暂存区的数据

[root@server1 demo]# git status -s            ##工作区的,未被提交
 M README.md

[root@server1 demo]# git add .                ##添加至暂存区
[root@server1 demo]# git status -s
M  README.md

[root@server1 demo]# git commit -m "v2"
[root@server1 demo]# git status -s
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
忽略隐藏文件
[root@server1 demo]# touch .a
[root@server1 demo]# git status -s
?? .a
[root@server1 demo]# vim .gitignore           ##忽略所有
.*
[root@server1 demo]# git status -s

[root@server1 demo]# echo helloworld > test.txt
[root@server1 demo]# git add test.txt         ##添加到版本库
[root@server1 demo]# git commit -m "add test.txt"

撤销文件修改
[root@server1 demo]# rm -f test.txt
[root@server1 demo]# git status -s
 D test.txt                                     ##在工作区被删除
[root@server1 demo]# git checkout -- test.txt   ##撤销对文件修改

取消暂存区文件:
[root@server1 demo]# git rm test.txt            ##理解为add的反面
[root@server1 demo]# git status  -s
D  test.txt
[root@server1 demo]# git reset HEAD test.txt    ##取消暂存区文件

版本回退
[root@server1 demo]# git rm test.txt
[root@server1 demo]# git commit -m "delete test.txt"   ##

[root@server1 demo]# git reflog                        ##
58b1bc2 HEAD@{0}: commit: delete test.txt
...
[root@server1 demo]# git reset --hard 6db53fe          ##版本回退
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

在这里插入图片描述

三、github/gitee远程代码仓库

登录:https://github.com/
或者:https://gitee.com/

1.建立仓库

本实验:初始化在本地做过了,远端不需要做了

在这里插入图片描述
上传公钥
[root@server1 demo]# ssh-keygen
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2.推送仓库

[root@server1 ~]# cd demo/
[root@server1 demo]# git branch -M main     ##设置主分支
[root@server1 demo]# git remote add origin git@github.com:westos007/demo.git  ##添加远端服务器
[root@server1 demo]# git remote -v    ##查看远端信息
origin  git@github.com:westos007/demo.git (fetch)
origin  git@github.com:westos007/demo.git (push)

[root@server1 demo]# git push -u origin main     ##上传
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
ECDSA key fingerprint is MD5:7b:99:81:1e:4c:91:a5:0d:5a:2e:2e:80:13:3f:24:ca.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,20.205.243.166' (ECDSA) to the list of known hosts.
Counting objects: 12, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (12/12), 890 bytes | 0 bytes/s, done.
Total 12 (delta 0), reused 0 (delta 0)
To git@github.com:westos007/demo.git
 * [new branch]      main -> main
Branch main set up to track remote branch main from origin.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

3.克隆仓库

[root@server1 ~]# rm -fr demo/
[root@server1 ~]# git clone git@github.com:westos007/demo.git     ##从远端ssh/http克隆
Cloning into 'demo'...
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 12 (delta 0), reused 12 (delta 0), pack-reused 0
Receiving objects: 100% (12/12), done.
[root@server1 ~]# ls
anaconda-ks.cfg  demo
[root@server1 ~]# cd demo/
[root@server1 demo]# ls
README.md  test.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/733465
推荐阅读
相关标签
  

闽ICP备14008679号