⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章
⭐作者主页:@逐梦苍穹
⭐所属专栏:Git
⭐如果觉得文章写的不错,欢迎点个关注一键三连有写的不好的地方也欢迎指正,一同进步
命令 | 描述 |
---|---|
git init | 初始化一个新的Git仓库 |
git clone | 克隆远程仓库到本地 |
git add | 将文件添加到暂存区 |
git commit | 将暂存区的更改提交到本地仓库 |
git status | 查看文件和仓库的当前状态 |
git log | 查看提交历史记录 |
git branch | 创建新的分支 |
git checkout | 切换到指定的分支 |
git merge | 合并指定分支的更改到当前分支 |
git pull | 获取远程仓库最新更改并合并到当前分支 |
git push | 将本地更改推送到远程仓库 |
git tag | 创建新的标签并附加到当前提交 |
git remote | 查看远程仓库列表 |
git remote add | 添加远程仓库 |
基础指令汇总如下:
命令 | 简介 |
---|---|
git add | 将工作区中的文件或修改添加到暂存区,准备进行提交。 |
git commit | 将暂存区中的文件或修改提交到本地仓库的当前分支,创建一个新的提交记录。 |
git status | 查看当前修改的状态,包括工作区和暂存区的变动。 |
git add 单个文件名(包含后缀) | 通配符 | 将指定的单个文件或符合通配符条件的文件添加到暂存区。 |
git add . | 将当前目录下所有修改过的文件添加到暂存区, 方便快捷地一次性添加多个文件的修改。 |
git commit -m ‘注释内容’ | 提交暂存区的内容到本地仓库,并附带一条简短的注释说明提交的内容。 |
git log [option] | 查看提交日志,显示版本提交的历史记录。 |
git reset --hard commitID | 将当前分支的 HEAD 指针和工作区恢复到指定的提交版本, 用于版本切换和撤销提交。 |
git reflog | 查看引用日志,可以查看已经删除的提交记录。 |
为常用指令配置别名:有些常用指令的参数很多,为了简化输入,可以选择使用别名:
1.打开用户目录(即为当前用户的家目录:~
,Windows系统为:C:\Users\用户名),创建.bashrc文件:
要使用Git对代码进行版本控制,首先需要获得本地仓库:
1)在电脑的任意位置创建一个空目录(例如GitTest)作为本地Git仓库
2)进入这个目录中,点击右键打开Git bash窗口
3)执行命令git init
4)如果创建成功后可在文件夹下看到隐藏的.git目录
两个最重要的命令:
1. git add (工作区 --> 暂存区)
2. git commit (暂存区 --> 本地仓库)
⭐
git add .
是 Git 命令中的一种,用于将当前目录下的所有文件和子目录添加到 Git
的暂存区中,以便进行下一步的提交操作。 好处:
- 方便快捷:可以一次性将所有修改过的文件添加到暂存区,避免漏掉某些修改。
- 简化操作:不需要逐个添加文件,能够节省时间和精力。
- 可以同时添加新文件和修改过的文件,更加高效。
坏处:
可能会添加不必要的文件:如果当前目录下存在一些不需要添加到版本控制的文件,例如编译生成的文件或者临时文件等,那么这些文件也会被添加到暂存区中。
可能会导致冲突:如果多个人同时修改了同一个文件,并且都将修改后的文件添加到了暂存区,那么在进行提交操作时就可能会出现冲突,需要手动解决。
总之,
git add .
命令可以方便快捷地将当前目录下的所有修改过的文件添加到 Git
的暂存区中,但需要注意不要添加不必要的文件,并且在多人协作时需要注意可能出现的冲突。
⭐在使用
git commit
命令时,可以不使用-m
参数。这种情况下,Git
会打开默认编辑器,让您输入提交信息。如果您不想在编辑器中输入提交信息,则可以使用-m
参数来在命令行中直接提供提交信息。
.gitignore
一般总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。
通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。
在这种情况下,可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。
下面是一个示例:
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf