一、基础信息配置
配置用户
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、初始化后拉取
拉取远程最新仓库的内容
三、本地分支推送
例如将本地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
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 分支。
|
七、本地回滚
查看状态
需求:就是我现在已经commit过了,有多个commit的信息,现在我想回滚到之前某一个commit当中还是保留所有commit的信息,不删除任何一个。例如我有三次提交,备注分别为1,2,最后一次提交。
查看版本

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

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

现在已经回退了,其他操作类似的。
八、取消远程关联
即取消第一步和第五步建立起来的本地和远程的关联
1、查看远程管理
git remote -v
会输出类似于 origin https://github.com/xxx/your-repo.git (fetch) origin https://github.com/xxx/your-repo.git (push)
|
2、删除关联
九、sourcetree常用
强制拉取远端仓库,若报错则执行一下命令
git reset --hard HEAD git pull origin main
|
十、将本地推送强制推送到远程仓库
1、解绑当前远程 origin
2、再次查看:
3、在连接新的远程仓库
git remote add origin git@github.com:zxzlimit/new-project.git
|
在执行,应该会看到一下东西

4、如果本地分支是 master,远程是 main,使用一下指令改一下
git branch -M main # 重命名本地分支为 main
|
5、然后就是强制推送了
git push -u origin main --force
|