Git基础知识总结

2025-12-28 13:49:43

1、1. mkdir <file>:创建一个目录文件夹;

2. cd <file>:目录名 进入该目录;

3. pwd:显示当前所在目录路径;

1、1. 将目录转为git后缀的库

git init:将当前目录变为Git可管理仓库;返回Initialized empty Git repository[郭1] in /Users/guoxiang/Documents/目录名称/.git[郭2]/

注:若未看到。Git目录,是因为此目录是隐藏的,使用ls –an即可看见。

2. 将配置文件放置目录下并查看目录下文件状态

git status:标出所在库中所有文件状态。(需要cd进入该库)

注:修改未add提交,已add提交未commit提交,Nothing to commit(没有可提交)

总结

①.git init:将当前目录转变为Git仓库。

②.git status:显示库中文件状态。

③.ls –an:显示当前目录隐藏文件。

[郭1]这是一个空的仓库。

[郭2]目录已变为git可管理仓库。

1、1. 将文件转为“准备提交阶段”。

git add <file>:将文件转到准备上传阶段。git add .(将所有上传)

2. 将文件转为“已提交阶段”。

git commit –m “备注”:上传所有准备阶段文件,指定上传某个准备阶段的文件。(git commit -m)

注:file changed(被修改的文件数)、insertion(插入调整内容)、deletion(删除调整内容)

3. 上传完毕后查看此目录文件状态

查看方法:git status(显示库中文件状态)

总结:

①.git add <File>:将本地文件上传至暂存区。

②.git commit –m “备注”:将暂存区的文件上传至本地库。

1、1.      未commit提交前查看查看文件修改前后对比。

git status:标出所在库中所有文件状态。(需要cd进入该库)

注:修改未add提交,已add提交未commit提交,Nothing to commit(没有可提交)

git diff --<file>:查看指定文件内容修改的比对差异,只有处于“红色”及“绿色”状态下的文件才能查看前后差异。

git diff --cached:是查看“暂存区”与“版本库”的差别。

git diff HEAD -- <file>:是查看“工作区”和“版本库”的差别。

2、2.      已完成提交的文件可根据上传备注查看历史记录。

git log:查看历史修改记录+(--pretty=oneline)缩略-横向展示历史记录,缩略显示不显示提交时间、提交用户。

3、总结

①.git diff --<File>:查看指定文件“工作区”与“暂存区”的差别。

②.git diff --cached:查看 “暂存区”与“版本库”的区别。

③.git diff --cached <File>:查看指定文件“暂存区”与“版本库”的区别

④.git diff HEAD -- <File>:查看 “工作区”和“版本库”的差别。

⑤.git log:查看显示commit记录。

⑥.git log --pretty=oneline:缩略显示commit记录。

1、1.    根据git log查看历史记录,记录目录按照先后顺序排列,第一列为最新提交版本,第二列次之,以此类推。

注:此序列“c4d8c4fded512888577ac9e37f087c26490ac961”为commit提交的版本号。

2、2.    回退至上一个版本或上上个版本。

git reset HEAD^:将当前版本回退至上一次的版本。

注:HEAD表示为当前版本,HEAD^表示为上一个版本,以此类推HEAD^^既是回退到上上个版本,若版本较多,可调整为HEAD~2既回退两个版本。

3、3.    回退后可查看当前版本是否是需要回退的版本。

cat <file>:显示文件内容。或使用git log根据add commit时的备注,查看是否到达该版本。

4、4.    前往未来的版本。

git reset –hard <cmmit_id>:根据未来版本id序列,可指定回到未来某个版本中。

注:版本号没必要写全,前几位即可,Git会自动去找。当然不能只写1个。

注:若终端已退出,没有之前的版本id记录,可用git reflog来重现操作记录,并从中找到。

5、5.    指定单个文件版本回退。

git log <File>:查看此文件版本提交记录,记录要回退的commit序列。

git reset < commit_id> <File>:将版本库指定文件回退至指定版本。

git checkout <File>:将回退的版本库指定文件同步至工作区。

1、1. 修改后查看状态;

git status:标出所在库中所有文件状态。(需要cd进入该库)

注:修改未add提交,已add提交未commit提交,Nothing to commit(没有可提交)

2、2. 撤销工作区文件或撤销暂存区文件的修改;

git checkout -- <file>:将版本库中的指定文件,同步到工作区中。

git reset HEAD <file>:可将指定暂存区的修改撤销掉,重新放回工作区。

注:文件回到最近一次“git commit“或”git add“时的状态。

①. 当“目标文件“修改后未git add <file>,撤销将回退到版本库当前版本指定文件;

②. 当“目标文件“修改后已git add <file>,撤销将回退到暂存区当前版本指定文件;

②. 多文件撤销可直接使用git checkout .来完成一次性撤销。

1、1.    直接手动删除或rm命令删除;

rm <File>:删除当前所在目录下指定文件。

2.    从工作区删除某文件,并查询哪个文件被删除了。

git status:显示工作区目录状态,通常红色表示已修改未add的文件,但此时文件被删除时,则也会红色表示,且会告知你删除了test.txt文件(既:deleted:test.txt)。

注:确定删除,就用git rm <File>删除,并git commit上传版本库。

注:失误删除,就用git checkout -- <File>,从版本库中同步到工作区中。

2、3.    删除命令与恢复命令误区

rm<File>或手动删除,与执行git rm <File>是不同概念,git rm <File>是删除并同步暂存区。执行git rm <File>后是无法执行git chekcout -- <File>的。

原因:此时暂存区的是一条deleted命令,而非File文件,因此当前只有版本库中才有File文件。

解法:使用git checkout -- <File>无用,是因为此命令是同步版本库用的,但是工作区已无此文件可用于同步,此时应该是撤销deleted命令,将删除命令返回工作区,然后再使用git checkout -- <File>同步版本库。

git reset HEAD <File>:可将指定暂存区的修改撤销掉,重新放回工作区。

git checkout -- <File>:将版本库中的指定文件,同步到工作区中。

注:撤销存于暂存区的命令始终使用git reset HEAD < File >撤销。

注:虽删除指令在工作区,且工作区已无该文件,但可将删除命令视为对文件的修改,只要修改在工作区,即可执行git checkout -- <File>,同步版本库,取消删除指令。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢