Git Local & Basic command

Git又称作 vesion control system 是一个版本控制系统,当我们在做一个project、files的时候,可以由多人,不同地点,不同时间去编辑同一个file。

而他也可以有不同的Branch(分支),也就是有不同的开发线,而主Branch又称作master branch,比如每个人在同一个file去做複製贴上出一个新的file,利用这个新的file去做edit,此动作可避免影响到初始file,完成后再利用merge去做合併,让所有人都可以去修改同一个file。

且我们可以查询到所有人修改的纪录(包括自己),这个修改是谁做的?为什么这个人这样做?什么时候做的?

而Git主要可以分为三个区块:

工作目录(Working Directory)」、「暂存区(Staging Area)」以及「储存库(Repository)。

Working Directory:就是我们在local正在操作的东西,在这个区块的东西,尚未保存,故较容易修改以及删除。

Staging Area:也是在local,且是我们想保存下来的东西,并準备要传送至Repositroy储存库。

Repository:就是每次提交(commit)版本放置的区域。

而我们在Working Directory需透过git add 指令才能将file从工作目录移至暂存区(or call index)。
而在Staging Area需透过git commit指令把暂存区的内容移至储存库。
大致上是这么一个流程

如下图:

http://img2.58codes.com/2024/20126182xlSp2mMJF9.png

而这里有几个Git常用的command:

pwd:可显示当前目录路径

cd:到指定路径,如cd D:\

cd .. :可回到上一层目录

code .:到指定路径下的资料夹并快速开启vs code。

touch:能够新建档案。

mkdir:用来新建资料夹。

rm:用来删除档案或资料夹。

echo:可将字串输出至指定文件 ex:echo "test test" > test.txt

cat:可查找指定资料的内容 ex:cat test.txt

vim:可开启指定路径的档案,开启后,按下i进行编辑,要退出时,按下ESC并加上:wq即可

http://img2.58codes.com/2024/20126182uixWpJQcfc.png

git config --global(user.name , user.email):在每次使用git进行版本管理时,送出修改的纪录,告诉git我是谁,如何联繫我,也让别人在操作时,知道这是谁修改的。

而输入完成后,在C槽=>USER下就可发现已新增一个名为.gitconfig的file,利用vscode打开,
即可显示我们所输入的资料。

http://img2.58codes.com/2024/20126182S9nQjN0kdL.png

git config -l:可查看当前配置如user.name,email等。

http://img2.58codes.com/2024/20126182ziJjhkzDee.png

git init (资料夹名称):初始化代码仓库。一般情况不会去更动.git里面的文件

http://img2.58codes.com/2024/20126182EKb4ZgZK6Q.png

ls -la:可在初始化代码仓库下,看到ls看不到的资料,此处-开头的为file其余为folder。

http://img2.58codes.com/2024/2012618218fNpRZ7fh.png

find ./ -[i]name jojo.txt:find可寻找特定档案,例如找寻档名为 jojo.txt 的档案。i 表示不分大小写。

git add:可将指定要commit的文件储存到git中的Index资料夹,也就是我们staging area中
git add * 可全部都储存,git add test.txt test2.txt 加上空格可一次储存多个。
git add *:不会添加.开头的档案 ex: .gitignore,所以要直接 git add .gitignore

http://img2.58codes.com/2024/20126182cVwTiuA1na.png

.git/index(此非command而为路径):通过git add保存当前对文件或资料夹的改变,并储存到index,一次只会储存一个改变,而去commit,他就只会送出这个改变,也就是我们的index。

而透过find查询.git下的file多了一个为index的folder,就是用来储存我们的修改,

http://img2.58codes.com/2024/20126182dBVJ78Opxd.png

git status:查询当前档案状态。

透过git status发现,如果有git add进去修改的资料,会显示 new file : test2.txt,如果只有创建或改变但还没有git add进去会显示 modified : test1.txt 代表不会送出修改后的资料。

查询出修改后但还没git add进去还在working directory的文件(下图)

http://img2.58codes.com/2024/20126182Lz3D9sYDhu.png

已经git add进去準备commit的file(下图)。
http://img2.58codes.com/2024/201261824RkhIdXm5F.png

git log:可以查询commit的纪录。
git log --stat:详情显示commit 纪录。
git log --after/before = "2020-06-30": 可查询指定日期之前或之后的纪录。

http://img2.58codes.com/2024/20126182FvjcKLQ3ST.png

git commit:可送出我们所改变的资料,而在后面加上-m,git commit -m "add line 3" 可附加讯息,来说明这次送出的东西是什么,使用 git log去查询 commit history,有HEAD的纪录为最新的纪录。

http://img2.58codes.com/2024/20126182ZTZuppwoUh.png


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章