一、git安装
二、初次使用Git时,需要Git进行配置
1、鼠标右键单击桌面,打开Git Bash Here
2、配置自己的用户名和邮箱
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"
3、生成并部署SSH key公钥
ssh-keygen -t rsa -C "xxx@xxx.com"
输入之后,连续按回车键,不需要做任何更改,会生成SSH key,存放在系统默认路径下
4、查看生成的SSH
keycat ~/.ssh/id_rsa.pub
5、在c:/Users/“你的用户名”/.ssh路径下,找到id_rsa.pub文件,将里面的内容全部复制下来
6、将SSH key添加到gitee账户中(git命令适用于很多平台,其实都是通用的差不多,这些命令不是仅针对于gitee)
进入gitee中,找到修改资料选项
7、在左边找到SSH公钥选项
标题可以任意起一个(eg:key one),然后将刚复制的内容粘贴到公钥里面,点击确定,就添加完成SSH key了。
三、准备工作已经就绪,准备上传自己的第一个项目
1、在gitee的个人主页,点击来新建项目
2、完成自己对项目的描述,可以选择是否公开这个项目,点击创建就创建好了自己的远程代码仓库,然后可以编辑README.md文件,来对项目进行描述。
3、在要提交的项目文件夹上右键,选择 Git Bash Here
4、在出现的命令框中
git init --初始化git仓库
git remote add origin 你的项目地址 --项目地址形式为: git@gitee.com:xxx/xxx.git 用来与远程仓库建立联系
5、开始第一次上传你的项目
git add . --将项目中的所有文件上传
git commit -m '注释内容' --对上传文件的注释
git push origin master --正式上传至远程仓库中的master分支上
git push origin master -f --表示舍弃线上的文件,强制推送(如果出现推送不了,可以试试该命令)
6、在之后你准备上传你的项目之前,最好更新一下gitee上的项目,确保没有和远程仓库的代码有冲突
git pull --rebase origin master --同步代码
git add . --将项目中的所有文件上传
git commit -m '注释内容' --对上传文件的注释
git push origin master --正式上传至远程仓库中的master分支上
四、下载项目
1、新建一个空目录,
2、在空目录下,鼠标右键选择 Git Bash Here
3、从gitee上把上传的代码下载下来
git clone git@gitee.com:yhcwlkjyxgs01/xunyiwenyao.git
如果你在Git上已经有空的 现有的Git存储库,打算首次上传自己本地的项目到git上,可以试下以下的命令:
git init
git remote add origin '你的项目地址'
git push -u origin --all
git push -u origin --tags
五、其他
1、本地新建且切换到该分支
git checkout -b branch_name
// 本地新建且切换到该远程分支
git checkout -b binding origin/binding
2、把新建的本地分支 push 到远程
git push origin branch_name:branch_name
3、推送本地分支到远程仓库
git push --set-upstream origin branch_name
4、删除远程分支
git push origin --delete branch_name
5、删除本地分支(-d
是 --delete
的缩写,在使用 --delete
删除分支时,该分支必须完全和它的上游分支 merge 完成。 )
git branch -d branch_name
6、修改本地仓库所关联的远程仓库的地址
git remote set-url origin 远程仓库的地址
7、清理远程分支(虽然远程分支已经被删除,但是本地仓库还会保留这些分支的缓存)
git remote prune origin
8、保留未提交的代码 & 恢复未提交的代码
// 首先,可以使用以下命令将当前的修改暂存起来
git stash
// 然后,你可以切换到其他分支
git switch other_branch
// 当你完成其他分支上的工作后,切回原来的分支,可以使用以下命令来恢复之前的修改
git stash apply
六、 版本回退
一、单独回退某个文件夹下的所有文件(比如要回退项目下的 src/views/ync/shop/shopSettleInApply/ 下的所有文件到 abcdefg 的这次提交
)
1、先查看文件夹的历史版本
git log --
其中,-- 是文件夹的路径。这个命令会显示该文件夹的所有提交历史,包括提交的作者、日期和提交信息。例如:
git log src/views/ync/shop/shopSettleInApply/
2、确定回退的目标版本
在查看文件夹的历史版本后,我们需要确定要回退到的目标版本
3、回退。
git checkout <commit_hash> -- src/views/ync/shop/shopSettleInApply/
其中 <commit_hash>
是目标提交的哈希值,可以通过 git log
等命令获取
举个例子,假设要将 src/views/ync/shop/shopSettleInApply/
目录下的所有文件回退到某个提交 abcdefg
git checkout abcdefg -- src/views/ync/shop/shopSettleInApply/
执行该命令后,src/views/ync/shop/shopSettleInApply/
目录下的所有文件会被回退到提交 abcdefg
中的版本
请在操作前进行备份,以防数据丢失。
七、合并分支
合并之前将自己分支的代码先提交上去,后面的步骤都是基于这一步的。
1、进入要合并的分支(如开发分支合并到master,则进入master目录)
git checkout master
git pull
2、查看所有分支是否都pull下来了
git branch -a
3、使用merge合并分支
git merge 分支名
// 当合并有问题,想取消合并
git merge --abort
4、查看合并之后的状态
git status
5、有冲突的话,通过IDE解决冲突
6、解决冲突之后,将冲突文件提交暂存区
git add 冲突文件
7、提交merge之后的结果(如果不是使用git commit -m “备注” ,那么git会自动将合并的结果作为备注,提交本地仓库)
git commit
8、本地仓库代码提交远程仓库
git push
9、最后在完成我们开发任务的分支之后,如果没有必要保留的话,可以删除(删除命令在前文中已经有写了,删除本地分支和远程分支)
注意:删除分支时,不能停留在次分支上,不然会删除失败,请切换到本地master分支去删除
八、.gitignore失效问题
.gitignore中文件的修改不被追踪,前提是该文件不在git的缓存区。因此如果有文件名已被写入.gitignore,但是仍然被git追踪纳入提交范围,需要将文件移出缓存区,然后重新移入暂存区,提交一次。操作如下:
// 删除缓存区的所有文件
git rm -r --cached .
// 将所有文件添加到暂存区
git add .
// 重新提交
git commit -m "清除缓存后重新提交"
九、遇到过的坑
1、git 提交代码某个文件夹一直提交不上去
复制项目时,直接拷贝过去的文件夹里面有个 .git 的文件,所以在执行 git status 的时候出现 modified: test (modified content, untracked content) 提示,这个提示存在的原因是 xxx目录里面有一个.git文件夹。就是因为这个.git文件夹导致这个提示。
解决:
一个项目下只能存在一个.git 的隐藏文件,找到其他文件夹中多余的 .git 文件并删除,再重新提交。