飞不高 发表于 2025-1-6 02:03:54

git知识点汇总


[*]git init 初始化一个git仓库,背面可以加仓库名,在当前目次下创建指定名称的目次并在该目次下创建仓库,若不加则直接在当前目次下创建仓库。
[*]git仓库的三个区域:工作区(当前目次)、暂存区(.git/index)、本地仓库(.git/objets),文件的四种状态:未跟踪(Untrack,新建的文件从未使用git add添加到仓库)、未修改(Unmodified,自前次git commit提交之后就没有变动过)、已修改(Modified,修改了但是没git add添加到暂存区)、已暂存(Staged,已经使用git add添加到暂存区,但是还没有git commit提交),git commit只会将已经添加到暂存区的文件提交。可以使用git commit -am “”一次性完成添加和提交两个动作: https://i-blog.csdnimg.cn/direct/00b76a2e6ec84a80a8cb34eca7e1ba53.png
[*]git status命令可以查察当前仓库状态,git log命令查察以往所有提交信息,可以加上--oneline选项只查察简略信息。
[*]git reset 版本ID 命令可以回退到相应版本,git reset HEAD^命令表现回退到上一个提交的版本(HEAD^表现上一次提交),默认使用的是--mixed,即保留工作区但是不保留暂存区,其他选项还有--soft,表现工作区和暂存区都保留,--hard表现工作区和暂存区都不保留。 https://i-blog.csdnimg.cn/direct/51b7230caa5e4d75b4b25569e104bbee.png
[*]git ls-files 命令可以表现版本控制中的文件,不包罗未被跟踪的文件、被忽略的文件或已删除的文件。这些文件是已经被git跟踪并且在当前分支中的文件,这些文件已经被 git add 命令添加到暂存区但尚未提交。
[*]git reflog命令用于查察git仓库的引用日志(reference log),它记录了每个引用(如 HEAD、分支、远程引用等)的历史变更,通过 git reflog,可以追踪所有提交、重置、变基等操纵的历史,甚至在分支或提交被删除后仍然可以找到相应的提交哈希值。
[*]git diff命令可以用来查察工作区与暂存区之间的差别(即那些没有使用git add添加到暂存区的文件内容);git diff HEAD命令可以用来查察工作区和本地版本仓库之间的差别;git diff --cached命令可以用来查察暂存区和本地版本仓库之间的差别(即那些已经使用git add添加到暂存区但是没有使用git commit提交到本地仓库的文件内容);git diff 版本号1 版本号2 命令可以用来查察指定版本之间的差别,版本号可以用HEAD来代替:HEAD可以用来表现当前版本,HEAD^(或HEAD~)可以用来表现上一个版本,HEAD~n(n为特定的数字)可以用来表现上n个版本;git diff还可以用来查察指定文件在两个版本之间的差别,如:git diff HEAD~3 HEAD filename。 https://i-blog.csdnimg.cn/direct/df3c8d39a60a4b58a6f2377312ce16cf.png
[*]删除文件:可以使用linux命令rm删除文件后再用git add在暂存区中删除相应的文件,也可以使用git rm 文件名 直接将暂存区和本地工作目次中的文件删除(这种方法不须要使用git add)。上述两种方法末了都要使用git commit 提交。 https://i-blog.csdnimg.cn/direct/5f85f419dbc349eba6d57fa68850031a.png
[*].gitignore文件用于告诉git在版本控制中忽略特定的文件或目次。通过定义忽略规则,可以避免将不须要或不渴望版本控制的文件(如暂时文件、编译输出、日志文件等)包含在git仓库中。git版本控制默认不会将空文件夹加入版本控制之中,.gitignore文件的匹配规则是从上到下逐行匹配,每一行表现一个忽略模式。在添加忽略规则之前就已经加入暂存区的想要被忽略的文件仍然会被git版本控制。 https://i-blog.csdnimg.cn/direct/f4455f89074a481392aaf658b6852348.png
[*]git remote add命令用于将远程仓库添加到本地仓库,使本地仓库能够与远程仓库进行交互。语法为 git remote add <name> <url>,其中<name>通常为origin,<url>是远程仓库的地点。例如,git remote add origin https://github.com/user/repo.git 会将名为origin的远程仓库添加到本地仓库,git remote -v 用于表现所有配置的远程仓库及其对应的URL,包罗 fetch 和 push 操纵的地点;git pull用于从远程仓库获取最新的更改并合并到当前分支,语法为git pull <远程仓库> <远程分支>,默认拉取到本地当前分支,如果之前用git push--set-upstream(或-u) <远程仓库> <本地分支>:<远程分支>将当前分支与远程分支绑定了,可以直接使用git pull拉取。可以使用git pull <远程仓库> <远程分支>:<本地分支>拉取到指定的本地分支,使用git branch -vv命令,可以查察本地分支跟远程分支是否存在绑定关系;git push 用于将本地的提交推送到远程仓库,以便其他开发者可以访问本地的更改,语法为git push <远程仓库名> <本地分支名>:<远程分支名>,如果本地分支名与远程分支名相同,则可以省略冒号为git push <远程仓库> <本地分支>,如果之前用git push --set-upstream <远程仓库>  <本地分支>:<远程分支>将当前分支与远程分支绑定了,可以直接使用git push推送。 https://i-blog.csdnimg.cn/direct/a7c49e8cca72435892b7b6603a815e8c.png
[*]git branch命令可以查察当前地点分支,git branch 分支名 命令可以用来创建一个新的分支。git checkout 分支名 和 git switch 分支名 命令可以切换到相应的分支,git checkout -b 分支名 命令会创建一个分支并切换到该分支上(若该分支已经存在则会报错)。git branch -d 分支名 命令可以用来删除已经被合并的分支,若没有被合并则不能删除,可以使用-D来强制删除。git merge 分支名 命令可以将指定分支合并到当前分支中(合并前须要先切换到目标合并分支,合并时git会自动产生一次commit)。合并时如果两个相同文件修改的部门没有辩论可以自动合并,如有辩论可以手动合并之后再commit,也可以使用git merge --abort停止此次合并。 https://i-blog.csdnimg.cn/direct/62d378859b5c43aab86db5ed00f560d6.png
[*]git rebase命令用于将一个分支的变更应用到另一个分支上,通常用于将本地分支更新到最新的主分支状态。根本用法是 git rebase <base-branch>,其中 <base-branch> 是渴望将当前分支变更应用到的目标分支。执行命令后,git会逐个应用当前分支的提交到 <base-branch> 的最新提交上。如果过程中出现辩论,git 会停息并提示办理辩论,办理后使用git add标记文件为已办理,并运行git rebase --continue继续操纵。如果决定中止rebase,可以使用git rebase --abort恢复到rebase开始前的状态。 https://i-blog.csdnimg.cn/direct/0dbe1de173174a68a7aa90f0388c957c.png
[*]git stash是Git中用于暂时保存当前工作区修改的命令,帮助开发者在不提交更改的情况下切换分支或执行其他任务。使用git stash后,未提交的修改和暂存区内容会被保存,工作区恢复为干净状态。之后可通过git stash apply或git stash pop恢复这些修改。git stash list可查察保存的所有stash,git stash drop用于删除指定的stash,而git stash clear扫除所有stash。使用-u参数可将未跟踪的文件也一起保存,-a参数则包罗忽略的文件。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: git知识点汇总