【git】git管理
当本地仓库和远程仓库都有同一个文件,从远程仓库拉取文件进行和本地文件合并时,Git可能会阻止你进行合并操作,并显示这个错误消息。如果切换分支失败,先运行一次git pull,然后再次运行以下代码,还是没有main分支会自动创建分支。远端仓库有文件,本地新建了一个空仓库需要拉取文件,关联远端仓库并建立本地main分支后。使用以下命令将所有更改提交到远程仓库,此操作不会更改远端仓库的文件。文件夹出现.
安装git
在以下官网点击下载安装即可
https://git-scm.com/download/win

选择一个文件夹作为git仓库,cd到文件夹输入
git init

文件夹出现.git文件夹,该文件夹默认为隐藏文件夹,设置为不隐藏
在cmd中输入
ssh-keygen -t rsa -C xxx@xxx.com
该邮箱为github邮箱,然后一路enter出现以下
在本地用户文件夹找到.ssh,打开id_rsa.pub复制获得key
到github创建key
复制刚才本地文件中的key到key中
输入以下添加用户名和邮箱,使用github用户名和邮箱
git config --global user.name 要修改的名字
git config --global user.email 要修改的邮箱
查看所有分支
git branch -a

切换分支
git checkout main
如果切换分支失败,先运行一次git pull,然后再次运行以下代码,还是没有main分支会自动创建分支
查看日志,由上到下为最新到最旧的log commit后为本次提交的哈希值
git log

查看所有远端仓库
git remote -v
切换本地和远端仓库关联
git remote set-url origin https://github.com/xx/xx.git (新地址)
从远端仓库拉取文件到本地仓库
git pull

回滚提交,可以通过git log查看某一提交操作的哈希值,本回滚为指定哈希值事件的逆操作
git revert <commit-hash>
当本地仓库和远程仓库都有同一个文件,从远程仓库拉取文件进行和本地文件合并时,Git可能会阻止你进行合并操作,并显示这个错误消息。
以下是解决方案
查看哪些文件是冲突文件
git status
使用以下命令将所有更改提交到远程仓库,此操作不会更改远端仓库的文件
git add .
git commit -m "Resolved merge conflicts"
再使用以下代码,将远端仓库的文件pull到本地进行合并
git pull
本地新建仓库分支与远程仓库分支建立连接
克隆远端到本地仓库git自动本地和远端建立连接
在自己方便找的文件目录下,执行本地git 初始化
只有一个git配置文件
新建仓库并关联
推荐在git仓库网站建立仓库后,新建READEME.md文件,使仓库不是空仓库,然后本地用git clone命令拉取仓库,会自动建立和绑定git
初始化
git init
查看当前状态
git status
没有添加文件,即没有添加追踪
新建分支
git branch -M main
创建本地和远端仓库关联
git remote add origin https://xxxx.git
查看远端仓库
git remote -v

添加当前所有文件
git add -A
或者
git add --all
添加之后就可以追踪
提交
git commit -m "upload file"
查看git历史
git log

推送到仓库
git push -u origin main
网络错误
多次尝试即可
拉取远端仓库到本地
远端仓库有文件,本地新建了一个空仓库需要拉取文件,关联远端仓库并建立本地main分支后
使用以下命令指定拉取远端仓库main分支
git pull origin main
清除git缓存
git rm -r --cached .
添加git忽略的文件
创建以下同名文件
.gitignore
文件内容
# 忽略所有大于100MB的.zip文件
*.zip
# 或者可以指定具体文件
large_file.iso
# 或整个目录
big_files/
git移除文件追踪
如果文件在.gitignore添加之前上传了,单修改.gitignore文件无效,需要用以下命令忽略指定文件,如config.yaml
git rm --cached config.yaml
git的多用户管理
生成独立SSH密钥
ssh-keygen -t rsa -C "个人邮箱" -f C:\Users\username\.ssh\personal_id_rsa
ssh-keygen -t rsa -C "工作邮箱" -f C:\Users\username\.ssh\work_id_rsa
新建config文件

填写配置信息
Host github.com
HostName github.com
User xudawu_work
IdentityFile C:\Users\username\.ssh\work_id_rsa
Host gitee.com
HostName gitee.com
User xudawu
IdentityFile C:\Users\username\.ssh\personal_id_rsa
config文件部分参数含义
Host:可以看作是一个你要识别的模式,对识别的模式,配置对应的主机名和ssh文件。(不重复即可)
User:自定义的用户名,默认为git,可不配置
HostName:真正连接的服务器地址
IdentityFile:指定本次连接使用的密钥文件
clone仓库时使用命令
git clone git@github.com:公司/仓库.git
git clone git@gitee.com:个人/仓库.git
验证
ssh -T git@gitee.com
出现以下为成功
如果ssh的方式不能clone远端仓库,尝试http的方式
配置用户名和邮箱
仅配置项目
先进入仓库目录(示例路径,替换为你的仓库路径)
cd /Users/xxx/Projects/your-project
仅当前仓库生效的配置
git config user.name "专属用户名"
git config user.email "专属邮箱@xxx.com"
全局
# 全局配置(所有 Git 仓库共用)
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱地址@xxx.com"
更多推荐



所有评论(0)