git使用整理
一、首次使用1、下载git官网下载鼠标右键任意文件夹空白处下有 git bash here即为安装成功。2、全局配置git config --global user.name 名称 git config --global user.email 邮箱 git config --list //这句是查看信息的, 最后两行可以看到配置的user.name和user.email注邮箱最好和给公司的远程仓库的邮箱一致不一致的话远程无法筛选中自己。3、生成ssh key输入命令ssh-keygen -t rsa连敲3次回车即可在C:\users\用户名文件夹\.ssh 目录中生成 id_rsa 和 id_rsa.pub两个文使用记事本打开 id_rsa.pub 文件复制里面的内容将复制的内容粘贴到 码云 - 设置 - ssh 公钥中即可4、下载项目git clone 地址二、多人共用一个分支git add . git commit -m 提交描述 git pull git push在push之前一定要pull因为是多人共用一个分支很可能会有冲突pull拉下来代码后处理好冲突之后再add、commit、push。三、自己有单独分支git add . git commit -m 描述 git checkout master // 切换到master分支 git pull git checkout myBranch // 切换回自己的分支 git merge master // 将master分支的内容合并到自己分支如果有冲突就解决冲突后再add、commit git push提交之后再申请将自己的分支代码合并到master主分支上。四、分支git checkout -b newBranchName // 新建本地分支并切换到新分支 git push -u origin newBranchName:newBranchName // 把新建的本地分支push到远程服务器远程分支与本地分支同名(第一个是本地分支名第二个是远程分支名) git checkout -b 本地分支名 origin/远程分支名 // 创建与远程分支关联的本地分支 git branch -a // 查看所有分支 git push origin --delete branchName // 删除分支五、遇到的问题1、代码被覆盖git回退版本和查看当前版本号git reflog ./ // 该命令显示本地提交的记录故恢复本地需执行该命令 git log ./ // 该命令显示提交到远程服务器的记录 git log --oneline -n 1 // 查看当前版本号, oneline代表简化提交记录一行显示 git reset --hard e33c58d // 最后的数字是需要恢复的commit_id, 可以在远程上看到2、husky阻止提交后代码丢失参考https://blog.csdn.net/zcyzcyjava/article/details/145877555git stash list //这条命令的作用是列出当前仓库中所有被暂存stashed的变更记录。 git stash apply --index stash{0} //将指定的暂存变更这里是 stash{0}应用回当前工作目录和暂存区。注在vscode命令行输入第2条命令可能会出现下述问题。此时不用怀疑命令出了问题改用Git Bash终端就可以。errorunknow switch usage: git stash apply [--index] [-q|-quiet] [stash] -q, --quiet be quiet, only report errors --index attempt to recreate the index3、初始化仓库远程新建一个仓库将自己本地的项目链接上远程仓库并将本地项目推到远程去git init git remote add origin 地址 git checkout -b feature-xxxProject-author-YYYYMMDD # 创建新分支 git add . git commit -m init: 初始化 git push -u origin master # 如果创建了新分支, master要替换成新分支的名字六、git仓库完整迁移包括代码、分支、提交记录、tags#第一步创建目标空仓库。在Git 托管平台如 GitHub、GitLab、Gitee 等上创建一个新的空仓库。**注意** 创建时请勿勾选“初始化 README”、“添加 .gitignore”或“添加 LICENSE”等选项保持目标仓库完全为空。 # 第二步镜像克隆源仓库。将源仓库以裸仓库Bare Repository的形式克隆到本地。这会下载所有的分支、标签和提交历史但不会生成工作区文件例如 git clone --mirror https://github.com/EXAMPLE-USER/OLD-REPOSITORY.git git clone --mirror 源仓库URL # 第三步进入仓库目录。进入刚刚克隆下来的裸仓库目录中 cd 源仓库目录名.git # 第四步修改远程仓库地址将本地仓库的远程推送地址修改为您在第一步中创建的新仓库地址 git remote set-url origin 新仓库URL # 第五步镜像推送到新仓库。执行镜像推送命令将本地的所有内容包括所有分支、标签和提交记录完整地推送到新仓库 git push --mirror # 第六步删除创建的源仓库目录名.git目录更新本地仓库远程地址 git remote set-url origin 新仓库URL