admin管理员组文章数量:1567025
文章目录
- Git初体验
- 一、什么是Git?有什么用?
- 二、如何使用
- 1.创建一个版本库
- cd
- mkdir
- pwd
- git init
- 2.使用版本库
- add
- commit
- status
- vi,nano
- diff
- reset --hard HEAD
- rm
- 三、理解工作区与暂存区
- 四、远程仓库(github)
- 1.如何添加远程仓库
- remote
- branch 与 push
- 2.如何从远程库上克隆
- colne
Git初体验
一、什么是Git?有什么用?
Git是目前世界上最先进的分布式版本控制系统。
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
二、如何使用
1.创建一个版本库
什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
cd
打开Git Bash
cd F:
mkdir
进入一个系统盘,可以选择一个你常用的。
mkdir testgit
在该目录创建一个名为testgit的文件。
cd testgit
pwd
进入testgit
文件夹。
pwd
显示当前目录。
通过git init
命令可以将这个目录变成git可以管理的仓库
git init
git init
此时我们打开刚才testgit
文件可以看见一个名为.git
的文件夹
2.使用版本库
-
首先在
testgit
文件下创建一个文本文件:first.txt -
将文件发送到暂存区
add
打开Git Bush,使用cd命令找到testgit
文件夹输入
git add first.txt
如果像这样没有任何提示说明,没有问题
用命令 git add first.txt是将
first.txt
添加到暂存区里面去,
- 将文件提交到仓库、
commit
git commit -m "first.txt提交第一个项目"
“first.txt提交第一个项目”:这是提交的注释
- 检查是否还有文件未提交
status
git status
git status
命令用于显示工作目录和暂存区中文件的状态,以及当前分支的状态信息。在执行
git status
命令后,会显示当前分支的名称、工作目录和暂存区中文件的状态信息。其中,文件的状态有三种:已修改(modified)、已暂存(staged)和未跟踪(untracked)。如果文件已经被 Git 跟踪,那么其状态会显示在 “Changes to be committed” 或 “Changes not staged for commit” 部分。
git status
命令是 Git 中非常常用的命令之一,它可以帮助我们了解当前 Git 仓库中文件的状态,方便我们进行版本控制。
说明没有东西提交了。
vi,nano
- 修改first.txt中的内容(vim,nano)
vi first.txt
该命令的意思是使用vim编辑器打开first.txt
进入后按下 i,使用插入的方法编辑
修改内容为:这是我上传的第一个文件,hello file
然后先按Esc在同时按下Shift 和 +
输入:
:wq
保存并退出编辑
- 再次检查是否还有文件未提交
git status
上面的命令告诉我们 first.txt文件已被修改,但是未被提交的修改。
diff
- 查看修改了什么内容
git diff first.txt
- 再次提交文件
提交文件刚刚已经练习过了,先add再commit
git add first.txt
git commit -m first.txt
使用
git add first.txt
出现的warning这个warning意味着你的文本文件使用的换行符是LF(Line Feed,仅Unix/Linux系统使用),但是Git会把它替换为CRLF(Carriage Return + Line Feed,Windows系统使用)。 这并不会影响你的git操作,但是如果你的文本文件是一个脚本或程序,可能会对其产生影响,因为Windows的编译器不支持LF的换行符。
可以使用这条命令解决
git config --global core.autocrlf ture
这样,Git会在检出文件时将CRLF转换为LF,提交时转换为CRLF。
git config --global core.autocrlf ture
是一条git配置命令,其作用是将提交的文本文件中的行末换行符转换为Unix格式的LF(Line Feed)。在Windows系统上,默认的换行符是CRLF(Carriage Return + Line Feed),而在Linux或macOS系统上,则为LF。这个配置命令会告诉Git在提交文本文件时,将CRLF转换为LF,而在检出(checkout)文本文件时,将LF转换为CRLF。使用这个配置命令可以避免Windows和Unix系统之间的换行符混乱,保证代码在不同平台之间的一致性。当我们将这个配置设置为input时,Git会自动地将CRLF转换为LF,但不会再将LF转换为CRLF。这样做可以避免因为多次换行符转换而引入不必要的问题。将true改为false可以禁用自动转换
- 查看历史记录
git log
可以发现我们一共提交了三个版本。
reset --hard HEAD
- 版本退回
现在我想使用版本回退操作,我想把当前的版本回退到上一个版本,要使用什么命令呢?可以使用如下2种命令,第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可。
git reset --hard HEAD^
git reset --hard HEAD^^
git reset --hard HEAD~100
我们使用cat first
命令查看当前版本的内容,然后回退两个版本,再次查看,发现已经回退到第一个版本了
- 删除缓存区文件命令
rm
假如我现在git add了一个a.txt文件,但是还没有git commit,我想将b.txt删除应该怎么办?可以使用该命令
rm a.txt
三、理解工作区与暂存区
工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
我们前面说过使用Git提交文件到版本库有两步:
第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
四、远程仓库(github)
我们在工作时候想要和其他人协作:
我们已经在本地创建了一个Git仓库后,又想在github创建一个Git仓库,并且希望这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。
1.如何添加远程仓库
- 首先打开github,创建一个新的仓库
就成功地创建了一个新的Git仓库。
目前,在GitHub上的这个testgit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
有两种方式推送一种是HTTPS协议,一种是SSH协议
阅读github仓库等的提示:
这组命令用于在本地创建一个新的 Git 仓库,并将它与一个新的 GitHub 远程仓库关联起来,然后将 README.md 文件添加到本地仓库中并推送到 GitHub 上。下面是每个命令的作用:
echo "# testegit" >> README.md
: 创建 README.md 文件并在其中添加 “# testegit” 的内容。
git init
: 在当前目录中创建一个新的本地 Git 仓库。
git add README.md
: 将 README.md 文件添加到本地 Git 仓库中。
git commit -m "first commit"
: 对 README.md 文件进行提交,提交说明为 “first commit”。
git branch -M main
: 将本地仓库的默认分支名称从 “master” 修改为 “main”。
git remote add origin https://github/13008451162/testegit.git
: 将本地仓库关联到一个名为 “origin” 的远程仓库,并将其 URL 设为 https://github/13008451162/testegit.git。
git push -u origin main
: 将本地仓库中的所有分支和提交推送到远程仓库 “origin” 上的 “main” 分支,“-u” 选项会将远程 “origin” 仓库和本地 “main” 分支关联起来。
git remote add origin https://github/13008451162/testegit.git
: 将远程仓库的地址添加到本地仓库,用于后续推送代码到远程仓库。
git branch -M main
: 将当前分支重命名为main
分支,以符合 GitHub 的默认分支命名规范。
git push -u origin main
: 将本地main
分支的代码推送到远程origin
仓库的main
分支,并将本地main
分支与远程main
分支关联起来,以后可以直接使用git push
命令推送代码。
我们根据GitHub的提示,在本地的testgit仓库下运行命令:
此时使用的SSH协议方法
remote
git remote add origin git@github:13008451162/testegit.git
然后将本地库内容推送到仓库
注意这个main在我们刚刚的操作时这个分支叫做master使用了该命令修改过它的名字
branch 与 push
git branch -M main
然后关联分支
git push -u origin main
把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支main推送到远程。
由于远程库是空的,我们第一次推送mian分支时,加上了 –u参数,Git不但会把本地的mian分支内容推送的远程新的mian分支,还会把本地的mian分支和远程的mian分支关联起来,在以后的推送或者拉取时就可以简化命令。推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了
从现在起,只要本地作了提交,就可以通过如下命令:
git push origin main
把本地mian分支的最新修改推送到github上了,现在你就拥有了真正的分布式版本库了。
2.如何从远程库上克隆
假如远程库有新的内容了,我想克隆到本地来 如何克隆呢?
- 首先我们找好需要克隆到的地方使用cd命令和mkdir命令
cd F: #进入F盘
mkdir chatgpt #创建一个文件夹chatgpt
cd chatgpt #进入这个文件夹
- 克隆仓库
colne
我们在github上找到一个叫做chatgpt-on-wechat的项目
使用命令克隆该项目
git clone https://github/13008451162/chatgpt-on-wechat.git
打开windows的cmd窗口切换到对应chatgpt目录操作
参考资料:
[1]GitHub入门与实践/(日)大爆弘记著:支鹏浩,刘斌译.-北京:人民邮电出版社,2015.7(2015.10重印)
[2] (34条消息) Git使用详细教程_youzhouliu的博客-CSDN博客[该内容已被华为云开发者联盟社区收录]
版权声明:本文标题:【Git】一篇文章教你使用git创建版本库链接到github仓库进行操作 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1725313842a1018829.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论