Git 命令大全

一、基础信息配置

配置用户

git config --global user.name "zz"
git config --global user.email 17353190891@163.com

对上面信息进行保存,不用每次都输入

git config --global credential.helper store

查看配置

git config --global --list

二、本地和远程仓库的基础配置

1、初始化本地并关联仓库

新建一个仓库,和本地关联起来,实现直接推送和拉取

echo "# dasd" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:zxzlimit/dasd.git
git push -u origin main

创建一个git项目后会有上面这些代码,然后就是回到电脑本地,cd到要推送的文件夹里面依次执行就可以了。

详细分析一下

echo "# dasd" >> README.md
# 使用 echo 命令将字符串 "# dasd" 追加到 README.md 文件中。
# 如果 README.md 文件不存在,此命令会创建该文件。
# ">>" 表示追加模式,不会覆盖文件原有内容。
# "# dasd" 通常是 Markdown 文件的标题(一级标题),这里可能是项目的名称或描述。

git init
# 初始化一个新的 Git 仓库。
# 在当前目录下创建 .git 子目录,存储版本控制的元数据。
# 这是开始使用 Git 进行版本管理的第一步。

git add README.md
# 将 README.md 文件添加到 Git 的暂存区(staging area)。
# 暂存区是准备提交的文件集合,此命令告诉 Git 跟踪 README.md 文件的更改。

git commit -m "first commit"
# 创建一个新的提交(commit),将暂存区中的更改(即 README.md 文件)保存到 Git 仓库。
# -m 选项允许添加提交信息(message),这里的信息是 "first commit",描述此次提交的内容。
# 提交后,Git 会记录文件的当前状态,形成版本历史。

git branch -M main
# 重命名当前分支为 "main"。
# -M 是 --move --force 的缩写,表示强制将当前分支(通常是默认的 master 分支)重命名为 main。
# 这是为了遵循现代 Git 仓库的命名惯例(main 替代 master)。

git remote add origin git@github.com:zxzlimit/dasd.git
# 添加一个远程仓库,命名为 origin。
# 远程仓库的地址是 git@github.com:zxzlimit/dasd.git,这是一个 SSH 格式的 GitHub 仓库地址。
# 此命令将本地仓库与 GitHub 上的远程仓库关联起来,方便后续推送代码。

git push -u origin main
# 将本地的 main 分支推送到远程仓库 origin 的 main 分支。
# -u 或 --set-upstream 选项设置 origin main 为本地 main 分支的上游分支。
# 第一次推送加一个-u,后面就可以直接git push来推送了,不然还得git push origin mian来推送

2、初始化后推送

依次执行后就可以了,以后要推送至仓库执行下面代码,还是先cd到相应文件夹下面

git add .
git commit -m "备注内容"
git push

3、初始化后拉取

拉取远程最新仓库的内容

git pull

三、本地分支推送

例如将本地main分支推送至仓库的dev分支

git push origin main:dev	#main:dev:把本地的 main 分支内容推送到远程的 dev 分支上。

四、强制推送

如远程仓库已经有项目了,我想将本地的直接覆盖远程的,还是先cd到本地文件夹下,然后使用以下代码

git init
git add .
git commit -m “备注”
git push --set-u git@gitee.com:zxzlimit/all.git master --force 强制推送

解释一下

-u 是保存追踪,第一次推送加一个-u,后面就可以直接git push来推送了,不然还得git push origin mian来推送

master 表示推送本地的 master 分支到远程仓库的 master 分支。如果想将本地的dev推送到远程的master,改为dev:master

五、git clone

git clone 仓库地址

clone好后以后直接也是git push 和git pull了

六、分支及分支推送

git branch  					查看本地所有分支。
git branch [branch-name] 创建新分支。
git checkout [branch-name] 切换到指定分支。
git branch -d dev 删除dev分支,删除之前记得查看自己所在的分支

分支推送,前提还是先和远程关联好

git push origin main:dev 		你本地的 main 分支 推送到远程的 dev 分支。

七、本地回滚

查看状态

git status

需求:就是我现在已经commit过了,有多个commit的信息,现在我想回滚到之前某一个commit当中还是保留所有commit的信息,不删除任何一个。例如我有三次提交,备注分别为1,2,最后一次提交。

查看版本

git log

image-20250806162005796

输入下面命令会跳出如下图所示的窗口,这是个vim编辑器的,直接wq保存退出就行了。

git revert e87d545771e979ebb095ecb5393926d31c99dafa

image-20250806161740361

然后在输入git log会出现下面信息

image-20250806161933948

现在已经回退了,其他操作类似的。

八、取消远程关联

即取消第一步和第五步建立起来的本地和远程的关联

1、查看远程管理

git remote -v

会输出类似于
origin https://github.com/xxx/your-repo.git (fetch)
origin https://github.com/xxx/your-repo.git (push)

2、删除关联

git remote remove origin

九、sourcetree常用

强制拉取远端仓库,若报错则执行一下命令

git reset --hard HEAD
git pull origin main

十、将本地推送强制推送到远程仓库

1、解绑当前远程 origin

git remote remove origin

2、再次查看:

git remote -v

3、在连接新的远程仓库

git remote add origin git@github.com:zxzlimit/new-project.git

在执行,应该会看到一下东西

git remote -v

image-20251022215401058

4、如果本地分支是 master,远程是 main,使用一下指令改一下

git branch -M main   # 重命名本地分支为 main

5、然后就是强制推送了

git push -u origin main --force