赞
踩
Git是—款免费、开源的分布式版本控制系统,主要用于敏捷高效地处理任何或小或大的项目。Git起源于Linus Torvalds为了帮助管理Linux内核开发而开发的开放源码的版本控制软件。
本文档主要学习代码的托管。
4个专用名词:
workspace: 工作区
staging area: 暂存区/缓冲区
local repository: 本地仓库
remote repository: 远端仓库
常用命令:
add: 把当前文件放入暂存区域。
commit: 给暂存区域生成快照并提交。
push: 从本地仓库推送到远端仓库
fetch/clone: 从远端仓库提取/克隆到本地仓库
checkout: Checkout命令用于从历史提交(或者暂存区域)中拷贝文件到工作目录,也可用于切换分支。
pull: 从远端仓库拉取到工作区
5)文件介绍:
其他文件可以百度一下,这里就不讲了。
下面的内容是命令操作:
在新建的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/
在test_repositroy文件夹生成隐藏的.git文件,如下图:
用户名在码云上查看:点击个人主页,如下图红框中就是用户名:
在新建的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"
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
查看配置信息:
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退出。
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
git remote add origin:表示添加一个远程的仓库到本地。
git remote:表示查看当前关联的库。
lvshi@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ dir
test.txt
lvshi@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ git add .
git add .:表示添加全部,还可以用(git add -A)
git add *.c: 表示添加后缀为.c的全部。使用通配符※。
$ git commit -m '第一次提交'
[master (root-commit) 3c07d49] 第一次提交
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test.txt
如果提示,以下错误:
$ git commit -m '1'
On branch master
nothing to commit, working tree clean
表示文件没有发送变化。可以不用执行commit。或者修改以下重新commit。
提交前先对比本地仓库和远端仓库的目录结构保持一致。如果不一样,则先进行拉取,操作如下:
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.
查看拉取结果:
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'.
复制一个其它库的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.
检查克隆结果:
- 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
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'
检查结果:
lvshi@XiaoXinPro-16-ARP8 MINGW64 /d/test_repostory (master)
$ dir
- git reset
根据唯一版本编号,回到前面某一次提交状态。只回退本地操作,不影响远端。
- git reset --hard b721e742fdc31250b9614a9c7f0f27d695ef8fe1
检查结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。