创建Git仓库有两种方式:一种方式是把本地目录作为Git仓库,另一种是从别的地方克隆一个仓库。这两种方式都将在自己的电脑上创建Git仓库。
仓库里的文件可以修改、暂存和添加。
创建
创建库
进入项目文件夹,git init把当前目录转化为Git仓库。
如果需要创建一个新的目录,则使用git init directory创建一个名为directory的文件夹作为仓库。
Git仓库目录下会有一个.git的隐藏文件夹,Git仓库.git文件目录一文讲了一些重要的文件(夹)。
克隆库
下面的命令克隆了一个已存在的Git仓库,并为这个仓库创建一个新的目录,也可创建一个新的文件名。这里的克隆不是简单的复制,而是收集所有的数据信息,所有文件的历史都会被拉取下来。
git clone https://github.com/xxx/xxx
git clone https://github.com/xxx/xxx [新的文件名]
接下来就可以使用仓库了。
使用
Git仓库中所有的文件都有被追踪和未被追踪两种状态。追踪的文件指Git知道的文件,可以是未修改的、修改的或暂存的。未被追踪的文件是那些在工作目录下,但不在Git记录和暂存中的。
查看状态
假设Git仓库中有个README文件,可以通过下面的命令了解文件状态。同时,这个命令也告诉了你正处于哪个分支。
git status README
git status可以查看所有文件的状态。
下面的命令可以更简化地显示信息。
git status -s
git status --short
如果文件名前是??,则表示文件未被追踪;如果是A,则表示已经添加;M表示文件被修改。
查看修改
git diff可以查看那些未被添加文件的修改内容。git diff --stage可以查看那些已经添加到暂存阶段的文件修改过的内容,git diff --cache同义。
添加文件(夹)
通过下面的命令来追踪文(夹)。
git add README
该文件会被添加到暂存区。暂存区是git中很重要的部分,这些文件并不会直接修改历史版本,而是放在暂存区中,可以接受进一步的修改。
如果一个已经被追踪的文件被修改了,也需要使用此命令添加到暂存区。
文件名可设为“-u”选项,表示把所有文件一起提交。
如果希望一个文件夹被忽略掉,不被追踪,则创建一个.gitignore列表文件。 这里列举了一些例子。
提交
当修改好内容并添加后,git commit可以提交修改,而那些未被添加到暂存阶段的修改则不会被提交。在提交时输入一些信息,否则无法提交。或者,使用-m选项输入信息进行提交。
git commit -m "信息"
每一次提交,都是一次对项目的一次快照,可以恢复,也可以比较。
上面第3、4步需要连续使用,稍微有点复杂,如果想要跳过第3步,则加一个-a参数即可
git commit -a -m "信息"
如果要修改最近一次提交,使用--amend选项。
git commit --amend
删除
如果需要从git管理中删除文件,则使用git rm命令,在commit之后,同时会把文件从工作目录中删除。
如果只是简单地从文件目录删除该文件,状态只会变为未暂存。而如果使用git rm,它会暂存这一状态。提交之后,这个文件就会消失,并且不会被git追踪。
如果要强制删除一个已经被修改或者加入到暂存区的文件,则需要加上-f选项。
如果想让git不去追踪文件,又不想让它从目录中删除,则加上--cache选项。
git rm --cache README
重命名
git mv命令重命名文件,把readme改名为README。
git mv readme README
查看提交历史
git log可以查看提交历史。-p(或-patch)可以显示每次提交的不同之处。
git log -2
要查看更简略的状态信息可以使用--stat选项。
git log --stat
--pretty选项可以改变输出格式,其值可以是oneline、short、full和fuller。使用format值还可以自定义输出。
git log --pretty=oneline
git log --pretty=format:"%h - %an, %ar : %s"
format选项可以配合--graph使用,可以展示分支和合并历史。
git log --pretty=format:"%h %s --graph
还可以对查看日志范围进行限制。-<n>表示查看最近n次提交。
git log -2
也可以使用--since或--until选项,查看最近2周提交。
git log --since=2.weeks
这种方式还可以自定义时间。
git log --since=2020-1-1
git log --since="three days ago"
如果要筛选特定作者使用--author选项;--grep可以从提交信息里搜索关键词。
还可以讲日志输出到文件。
git log -- path/file
另外,gitk命令会弹出一个图形化界面,可查看版本演进。

补充提交
如果提交完成后发现遗漏了某个文件,可以先把该文件加入暂存区,再使用--amend选项提交。
git add forgetten_file
git commit --amend
提交之后还可以修改上一次提交时的信息。
撤销
如果已经添加了一个文件到暂存区,想要撤销添加使用下面的命令。
git add README
git reset HEAD README
如果已经修改了某个文件,想要撤销修改使用下面命令。
git ckeckout -- README
git将用上次提交的文件替换已修改的文件。
从2.23.0版本开始,git restore替换了git reset,
git restore --staged README
该命令也替换了git checkout。
git restore README
本文详细介绍了Git仓库的创建与使用,包括从本地创建新仓库和克隆现有仓库。在使用方面,讲解了如何查看状态、添加文件、提交变更、删除与重命名文件、查看提交历史及撤销操作等核心功能。通过这些步骤,读者可以全面掌握Git的基本操作。

被折叠的 条评论
为什么被折叠?



