当前位置:   article > 正文

保姆级教程:git的使用_git提交代码使用教程保姆版

git提交代码使用教程保姆版

1. 什么是git

Git是—款免费、开源的分布式版本控制系统,主要用于敏捷高效地处理任何或小或大的项目。Git起源于Linus Torvalds为了帮助管理Linux内核开发而开发的开放源码的版本控制软件。
本文档主要学习代码的托管。

2.git下载安装地址

https://git-scm.com/downloads

3.git工作原理

来源百度
4个专用名词:
workspace: 工作区
staging area: 暂存区/缓冲区
local repository: 本地仓库
remote repository: 远端仓库

常用命令:
add: 把当前文件放入暂存区域。
commit: 给暂存区域生成快照并提交。
push: 从本地仓库推送到远端仓库
fetch/clone: 从远端仓库提取/克隆到本地仓库
checkout: Checkout命令用于从历史提交(或者暂存区域)中拷贝文件到工作目录,也可用于切换分支。
pull: 从远端仓库拉取到工作区
在这里插入图片描述

4.实验操作

  1. 在桌面创建一个test_repostiory文件夹
  2. 登录码云https://gitee.com/,没有账号先创建账号。
  3. 在码云里面创建仓库,步骤如下:
    1)点击右上角加号
    在这里插入图片描述
    2)新建仓库
    在这里插入图片描述
    3)选项介绍:
    在这里插入图片描述
    4)创建成功:
    在这里插入图片描述

5)文件介绍:在这里插入图片描述在这里插入图片描述
其他文件可以百度一下,这里就不讲了。

下面的内容是命令操作:

5.git init:

在新建的test_repository文件夹下右键打开git batch here,并输入如下代码:git init,初始化git。会在该目录下生成.git的隐藏目录。

lvshi@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory
$ git init
Initialized empty Git repository in D:/test_repostory/.git/
  • 1
  • 2
  • 3

在test_repositroy文件夹生成隐藏的.git文件,如下图:
在这里插入图片描述

6.配置用户名和邮箱。

用户名在码云上查看:点击个人主页,如下图红框中就是用户名:
在这里插入图片描述
在新建的test_repository文件夹下右键打开git batch here,并输入如下代码:

l@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git config --global user.name "xxxxxng123"
$ git config --global user.email "xxxxx@qq.com"
  • 1
  • 2
  • 3

git config --global命令:表示git的全局配置。

检查配置:

l@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git config user.name
xxxxxng123
$ git config user.mail
xxxxx@qq.com
  • 1
  • 2
  • 3
  • 4
  • 5

查看配置信息:

l@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
credential.helper=manager-core
credential.helper=store --file C:/Users/lvshi/.my-credentials
gui.recentrepo=C:/myrepository
credential.https://gitee.com.provider=generic
safe.directory=C:/myrepository/pythonProject
user.name=lvshiliang123
user.mail=498865371@qq.com
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
(END)
输入q退出。
  • 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

7.关联远程仓库。

在这里插入图片描述

l@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git remote add origin https://gitee.com/xxxxxng123/test-repositroy.git

l@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git remote
origin
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

git remote add origin:表示添加一个远程的仓库到本地。
git remote:表示查看当前关联的库。

8.按照工作原理图命令操作文件。

1.add workspace to staging area

lvshi@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ dir
test.txt
lvshi@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git add .

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

git add .:表示添加全部,还可以用(git add -A)
git add *.c: 表示添加后缀为.c的全部。使用通配符※。

2.commit staging area to local repostory

$ git commit -m '第一次提交'
[master (root-commit) 3c07d49] 第一次提交
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test.txt
  • 1
  • 2
  • 3
  • 4

如果提示,以下错误:

$ git commit -m '1'
On branch master
nothing to commit, working tree clean
  • 1
  • 2
  • 3

表示文件没有发送变化。可以不用执行commit。或者修改以下重新commit。

3.pull 会弹出登录授权对话框。remote repository to workspace

提交前先对比本地仓库和远端仓库的目录结构保持一致。如果不一样,则先进行拉取,操作如下:

l@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git  pull --rebase origin master
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 9 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (9/9), 7.76 KiB | 264.00 KiB/s, done.
From https://gitee.com/xxxxxxng123/test-repositroy
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
Successfully rebased and updated refs/heads/master.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

查看拉取结果:
在这里插入图片描述

4.push 注意:不要强制提交,会覆盖远程仓库。local repository to remote repostory

l@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git  push --set-upstream origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 16 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 295 bytes | 295.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/xxxxxxng123/test-repositroy.git
   dc6aea5..b721e74  master -> master
branch 'master' set up to track 'origin/master'.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

5.clone remote repository to local repostory

复制一个其它库的https地址,如我的另一个库的地址:https://gitee.com/xxxxxxng123/myrepository.git

lvshi@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git clone https://gitee.com/xxxxxxng123/myrepository.git
Cloning into 'myrepository'...
remote: Enumerating objects: 641, done.
remote: Counting objects: 100% (68/68), done.
remote: Compressing objects: 100% (65/65), done.
remote: Total 641 (delta 24), reused 0 (delta 0), pack-reused 573
Receiving objects: 100% (641/641), 928.38 KiB | 475.00 KiB/s, done.
Resolving deltas: 100% (281/281), done.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

检查克隆结果:
在这里插入图片描述

6.版本控制操作

- git log
查看上传版本

l@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git log
commit b721e742fdc31250b9614a9c7f0f27d695ef8fe1 (HEAD -> master, origin/master)
Author: xxxxxng123 <xxxxxxx@qq.com>
Date:   Tue Dec 26 21:39:28 2023 +0800

    第一次提交

commit dc6aea545c8b8d0c00e8693eff25ed79beb6fac3
Author: 阿白 <xxxxxxx@qq.com>
Date:   Tue Dec 26 12:32:15 2023 +0000

    Initial commit

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

commit dc6aea545c8b8d0c00e8693eff25ed79beb6fac3:表示每次上传的版本唯一编号。

- git rm .
删除所有文件

l@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git rm *.*
rm 'README.en.md'
rm 'README.md'
rm 'test.txt'
  • 1
  • 2
  • 3
  • 4
  • 5

检查结果:

lvshi@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ dir

  • 1
  • 2
  • 3

- git reset
根据唯一版本编号,回到前面某一次提交状态。只回退本地操作,不影响远端。

- git reset --hard b721e742fdc31250b9614a9c7f0f27d695ef8fe1
  • 1

检查结果:
在这里插入图片描述

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

闽ICP备14008679号