1.准备
2.本地新建项目上传GitHub
3.克隆自己GitHub项目添加或上传文件
4.克隆别人GitHub项目修改上传自己仓库
5.常用git命令
6.vscode文件git颜色
1.1 git安装
sudo apt-get install git
1.2 配置用户信息
用户名,邮箱为GitHub上的注册信息
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
配置好后用下面命令查看
git config --list
1.3 添加SSH key,在GitHub网站上添加了SSH key(建议使用SSH)
生成密钥,若添加密码则后续上传和克隆项目都需输入密码
ssh-keygen -t rsa -C "你的邮箱"
查看并复制
cd ~/.ssh
ls
cat id_rsa.pub
把复制的内容提交至GitHub-setting-SSH and GPGkeys-Key中
2.本地新建项目上传GitHub(推荐直接clone远程仓库进行项目管理)
2.1 GitHub上新建一个仓库
2.2 本地新建项目文件夹
(1)初始化本地仓库
运行git init就可以将一个目录转变成一个Git仓库,这样你就可以开始对它进行版本管理了
git init
(2)编辑本地项目文件或直接拖动文件到文件夹
vim main.cpp
(3)提交新文件到本地暂存
git add main.cpp
(4)commit需要提交的信息
git commit -m "对应的提交信息"
(5)链接远程仓库信息(默认链接的分支为master)
git remote add origin 远程url地址
(6)新建并切换为上传分支
git checkout -B main
(7)上传远程仓库origin和分支main(GitHub默认分支已从master变更为main,需输入SSH密码)
git push -u origin main
以后都不用加-u了,(-u是将本地和远程的master关联起来)
2.3 可能出现问题
(1)Git push命令报hint:Updates were rejected because the remote contains work that you do(添加第5步)
1.git init //初始化仓库
2.git add .(文件name) //添加文件到本地
3.git commit -m “first commit” //添加文件描述信息
4.git remote add origin 远程url //链接远程仓库
5.git pull origin main --allow-unrelated-histories // 把本地仓库的变化连接到远程仓库main分支
(同步本地和远程:两个分支是两个不同的版本,具有不同的提交历史)
6.git checkout -B main //切换上传分支
7.git push -u origin main //把本地仓库的文件推送到远程仓库main分支
(2)Everything up-to-date.
git branch dev //创建一个dev分支 dev是分支的名字 可以随便命名
git add . //再把文件添加到暂存区
git commit -m '备注' //提交到版本库,也就是当前分支
git push origin dev //提交到远程仓库
git checkout main //然后切换到main分支
git merge dev //把dev分支合并到main上
git push -u origin main //最后提交到远程仓库
3.克隆自己GitHub项目(建议选择SSH)
git clone实际上是一个封装了其他几个命令的命令。它创建了一个新目录,切换到新的目录,然后git init来初始化一个空的Git仓库,然后为你指定的URL添加一个(默认名称为origin的)远程仓库(git remote add),再针对远程仓库执行git fetch,最后通过git checkout将远程仓库的最新提交检出到本地的工作目录。
git clone 远程仓库url
如果克隆时选择HTTPS连接(需删除与远程仓库连接关系,并重新为项目添加SSH连接)
git remote rm origin
git remote add origin 远程url地址
github文件删除
在Github仓库中是无法通过鼠标操作直接删除文件和文件夹的,那只能通过 git 命令来执行删除操作
git clone 远程仓库url
cd 项目文件夹
删除文件或文件夹
git rm -r --cached file_name/ // 将file_name改为自己要删除的文件名或文件夹/
// 删除后push,远程仓库才会删除,本地文件无影响
// 注意: 如果删除的是文件夹,需要“-r”, 如果是文件,则不需要"-r"
git commit -m '备注' //删除完你需要删除的文件或文件夹以后,在终端里提交本次修改
git push
添加文件或文件夹(不要和删除同时进行)
文件
git add file_name
文件夹
cd folder_name
git add .
git commit -m '备注'
git push
4.克隆别人GitHub项目修改上传自己仓库(建议选择SSH)
自己新建仓库不要添加README.md,不然克隆的项目中有同名文件时会报错
git clone 远程url // 下载到本地文件夹
rm -rf .git // 删除原项目.git文件
git init // 仓库初始化
git add . // 加入暂存区
git commit -m "备注" //提交备注
git remote add origin 远程仓库地址 //自己创建的仓库地址
git push --set-upstream origin master //推送到master分支
GitHub默认分支更改为main,下面为上传main分支
git clone 远程url // 下载到本地文件夹
rm -rf .git // 删除原项目.git文件
git init // 仓库初始化
git add . // 加入暂存区
git commit -m "备注" //提交备注
git remote add origin 远程仓库地址 //自己创建的仓库地址(创建时不要添加README.md)
git checkout -b main //新建并切换为main分支(为什么要新建main分支,远程仓库不是默认存在main分支吗?)
//克隆项目后初始化后得到的.git默认只有master分支,为了上传到远程main分支,需要在本项目中新建main分支,上传时要确保新建仓库没有同名文件(即新建仓库选加的README.md)
git push --set-upstream origin main //推送
分支操作
(1)新建分支 git branch dev 建立名为 dev 的分支
(2)git checkout dev 切回 dev 分支
(3)git branch -d dev 删除分支(需要切回master主分支)
(4)git checkout -b dev 使用checkout建立分支,并切回dev分支上
删除远程仓库所有文件(慎重,删除后本地文件也不存在了)
git rm -rf --cached . //cached为保留本地,去掉则本地远程一同删除
git commit -m '备注'
git push
5.常用git命令
https://blog.csdn.net/low5252/article/details/106365210
6.vscode文件git颜色
代码里的左侧颜色标识:
红色,未加入版本控制; 远程clone到本地
绿色,已经加入版本控制暂未提交; (新增部分)
蓝色,加入版本控制,已提交,有改动; (修改部分)
白色,加入版本控制,已提交,无改动;
灰色:版本控制已忽略文件。