【基础工具】Git命令集
Last updated on May 25, 2024 pm
Git 是一个版本控制系统,是任何软件开发项目中的主要内容。通常有两个主要用途:代码备份和代码版本控制。使用Git可以逐步处理代码,在需要回滚到备份副本的过程中保存每一步的进度。

Git的安装与配置
安装Git
直接上官网下载安装
https://link.zhihu.com/?target=https%3A//git-scm.com/download
或者MAC使用brew对git进行安装
1 |
|
查看Git中的配置
1 |
|
检查是否安装成功
1 |
|
密钥连接
生成本地的ssh密钥连接到远端的git仓库
https://blog.csdn.net/weixin_42310154/article/details/118340458
Git的基本控制
初始化Git仓库
当完成上述的配置之后,就能开始初始化Git仓库,进入需要创建工作区workspace的文件夹输出git初始化的操作
1 |
|
创建一个名为 .git 的新子目录(该目录为隐藏的),其中包含所有必需的存储库文件(Git 存储库框架);注意区分工作区和暂存区,在没有add之前我们都是在工作区
【Vscode】考虑Git graph插件来可视化git分支目录的全貌
在Github端新建仓库
根据需要可以设置为公有的或者是私有的,最好不要设置README.md,因为初始化的国过程可能会出现冲突,设置也没关系
本地的Git和远端github的连接
获取本地的SSH公钥匙,打开终端并输入
1
ssh-keygen -t rsa -C "youremail@example.com"
进入.ssh中复制id_rsa.pub中的内容,并在Github中的如下位置复制改内容添加SSH🔗
完成连接之后再配置git的相关内容
1
2git config --global user.email test@163.com
git config --global user.name test本地工作区的设置
首先进行初始化设置,使当前文件夹能够使用git
1
git init
如果一开始没有设置README.md文件那么执行
1
2
3
4
5git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com.....git
git push -u origin master以上这些步骤,就能将本地的git和远端的仓库进行关联
本地和远端关联失败
当然会出现本地和远端关联失败的情况,产生的原因可能如下:
在默认情况下,
git push
时一般会上传到origin
下的master
分支上,当repository和branch过多,又没有设置关联时,git就会产生疑问通过以下命令查看远端和本地的分支,并选择合适的
1
2git branch //本地
git branch -a //远端如果本地初始化的内容和远端的内容不一样,那么无法判断本地和远端的内容差异,因此需要选择如下之一
1
git reset --hard origin/master
直接将远端的内容覆盖到本地
1
git push -f -u origin master
强行将本地的内容覆盖到远端,那么就能形成统一,从而完成链接。
添加文件和备注
1 |
|
执行上述命令之后将会将当前的file或者是工作区中的所有文件都上传到暂存区
1 |
|
上述的命令是将本次的提交添加描述,分布式协作的时候能看清
状态与日志
查看默认配置
1 |
|
查看当前所在的分支位置信息
1 |
|
查看当前分支下的更改日志
1 |
|
推送与拉取
将本地暂存区中的更改内容推送到远端
1 |
|
将远端所在的分支内容拉到本地
1 |
|
更新所在分支的最新内容
1 |
|
复制分支
获取git连接git@ XXX.git之后执行:
1 |
|
如果觉得git的内容太大,可以选择内部的分支进行下载
1 |
|
feature/xxx为具体的分支内容
分支操作
查看分支
1 |
|
切换不同的分支
1 |
|
创建新的分支
1 |
|
创建新的分支并切换到上面
1 |
|
合并分支
- 现在的任务是将b分支完全合并进a分支,同时只留下a分支
- 首先确保b分支上的修改提交到了origin
1 |
|
1 |
|
但是此时还是有另一个分支存在,如果想删除分支b
1 |
|
分支冲突
问题描述:如果当前修改的版本基于旧版,但是远端已经是新版origin/master,此时修改基于的内容和远端不同不能强行推。
解决方法1:通过换基的方法解决,通过将当前的修改的旧版换到最新的基上
1 |
|
解决方法2: 暴力覆盖
1 |
|