前言
目录
[git add](#git add)
[git commit](#git commit)
[git push](#git push)
[git status](#git status)
[git log](#git log)
[git rm](#git rm)
[git reset](#git reset)
更新代码到远程仓库
git add
用于将文件的更改(新增、修改、删除等)添加到暂存区(staging area)中。暂存区是 Git 中用于准备下一次提交(commit)的地方,你可以将想要包含在下一次提交中的更改先添加到暂存区。
// 添加单个文件
git add <文件名> // 这会将指定的文件添加到暂存区。
// 添加多个文件
git add <文件1> <文件2> ... // 你可以一次性添加多个文件到暂存区,只需在命令后列出这些文件的名称即可。
// 添加当前目录下的所有文件
git add . // 使用点号(.)表示当前目录,这个命令会将当前目录及其子目录下的所有更改(新增、修改、删除的文件)添加到暂存区。
// 添加特定类型的文件
git add *.txt // 这个命令会添加当前目录下所有扩展名为 .txt 的文件到暂存区。你可以根据需要修改通配符来匹配不同类型的文件。
// 添加特定目录下的所有文件
git add <目录名>/ // 这个命令会添加指定目录下的所有文件(包括子目录中的文件)到暂存区。
git commit
用于将暂存区(staging area)中的更改正式记录到仓库(repository)的历史记录中,形成一个新的提交(commit)。每个提交都包含了更改的元数据信息,如作者、日期和提交信息(commit message),以及更改的具体内容。
// 带提交信息的提交
git commit -m "<提交信息>" //一般使用 -m 选项可以在命令行中直接指定提交信息
git push
用于将本地的提交(commits)推送到远程仓库(remote repository)中。这通常是在你完成了一系列的更改、提交(commit)到本地仓库之后,想要将这些更改分享给其他人或者备份到远程服务器上时进行的操作。
// 推送到默认远程仓库和分支
git push // 如果你已经配置了上游分支(即使用 git clone 克隆的仓库通常会自动设置上游分支,或者你可以使用 git branch --set-upstream-to=origin/<branch> <branch> 手动设置),并且远程仓库是默认的(通常是 origin),那么这个命令会将你当前分支的提交推送到对应的远程分支上。
// 指定远程仓库和分支
git push <远程仓库名> <本地分支名>:<远程分支名> // 如果你想要推送到非默认的远程仓库,或者推送到远程仓库的不同分支上,你需要指定远程仓库名和分支映射。例如,git push origin master:main 会将本地的 master 分支推送到远程仓库 origin 的 main 分支上。
// 推送当前分支到默认远程分支(简化形式)
git push <远程仓库名> // 如果你只指定了远程仓库名而没有指定分支,Git 会尝试将当前分支推送到远程仓库中同名的分支上。如果远程分支不存在,Git 可能会创建一个新的分支(这取决于远程仓库的配置)。
// 强制推送
git push -f
git status
用于显示工作目录和暂存区(staging area)的状态。这个命令非常有用,因为它可以帮助你了解当前的工作进度,包括哪些文件已经被修改、哪些文件还没有被添加到暂存区、哪些文件已经被提交到仓库中,以及分支的当前状态。
git status
git log
用于显示仓库中的提交历史。这个命令提供了丰富的信息,包括每个提交的哈希值、作者、日期、提交信息以及涉及的更改。通过 git log ,你可以了解项目的开发历史,查看哪些更改已经被提交到仓库中,以及这些更改是由谁在什么时间完成的。
git log
git rm
用于从工作目录和暂存区(staging area)中移除文件。当你执行
git rm
命令时,指定的文件会从你的工作目录中删除,并且这些更改会被添加到暂存区,准备下一次提交(commit)时从仓库中移除。
git rm <文件>...
git reset
用于撤销之前的提交、恢复文件或移动分支的 HEAD 指针。
git reset --soft <提交> // 来撤销提交但保留修改。
git reset --mixed <提交> // (或不带选项的 git reset <提交>)来撤销提交并取消暂存的修改,但保留工作区的文件内容。
git reset --hard <提交> // 来撤销提交并删除修改的文件。