GIT:
根据安装位置。添加环境变量
D:GitGitcmd
1、GIT 配置
配置用户名: 自己的 GitHub 用户名 git config --global user.name "zhxxxxx" 配置邮箱 git config --global user.email "184xxxxx@qq.com"
2、将本电脑和远程github进行SSH配置
创建一个SSH Key 黑屏终端输入:ssh-keygen -t rsa -C "184xxxxx@qq.com" 一直回车 ,记住,(.shh)目录 cd (.shh) 进入.shh 目录下(在C:Userszhengyan.ssh) ls 后会出现 id_rsa (私钥) id_rsa.pub(公钥) cat id_rsa 复制文本,将文本添加到 GitHub官网上在 setting中的 SSH keys and GPG keys 复制进去(注意文件格式) $ ssh -T git@github.com 查看是否配置成功
3、如果第3步不成功,可以直接用用户名和密码验证,在config(git init执行后的目录中)文件末尾添加,就不用配置SSH了
[user] name=yourname email=youremail
4、克隆仓库到本地
1、直接克隆
git clone 远程仓库地址
2、自己在本地创建仓库,关联远程仓库
git init git remote add origin 远程仓库地址 //关联仓库 git remote rm origin //删除关联
此时如果push可能会报错(假如远程仓库初始化添加了.gitignore和readme文件)
git pull --rebase origin master :拉取远程的文件覆盖本地
git pull --rebase origin master :上面的操作
上面的操作好像会出现其他的问题
git push -u origin master -f 我们直接强制进行push操作(确保master分支的文件不重要了)
5、常用命令
git init //(将自己的创建的文件夹变成一个管理库),如果报错控制台不支持Unicode编码什么的,把文件名改成英文即可 git add 文件(zhengyan.txt) //(表示将文件存放在厂库中) git add . //添加所有的文件,包扩子目录,不包括空文件夹 git commit -m “注释信息” //(表示将文件放入厂库中的货架上) git pull origin master --allow-unrelated-histories git pull origin master //拉取远程库内容到本地库(必须查看日志,是否有文件冲突,如果有就不能直接push) git push origin master //推送本地库内容到远程库中 git pull --rebase origin master //加上了一个参数可以选项告诉 Git 把某人的提交移到同步了中央仓库修改后的 master 分支的顶部,成功后可以查看远程仓库(在官网上查看) git status //查看当前仓库的状态 git diff //查看修改之前的内容和修改之后的内容 git log //可以查看从最近修改到最远修改的提交日志 git log --pretty=oneline //可以一行显示提交日志 git reset --hard HEAD^ //表示回到上一个版本 git reset --hard HEAD^^ //表示回到上上一个版本 git reset --hard HEAD~100 //表示回到上100个版本 git reset --hard 具体版本号 //好像commit才会出现版本号 git reflog //记录历史命令 git checkout -- zhengyan.txt //如果文件修改没有add ,会将文件还原本地仓库中文件的数据 (相当于撤销),如果将文件添加到缓存区中后(就是执行了add,没有执行commit),又做了修改,执行命令,将数据撤回到缓存区
6、分支管理
创建分支 //git branch 分支名 查看所有的分支 //git branch 切换分支 //git checkout 分支名 创建与切换同时进行 //git checkout -b zy2(分支名) 将子分支修改的文件合并到master分支上 git checkout master //切换到master分支上 git merge zy
7、标签管理
给版本打上标签 add+commit git tag v2.0 --给这个版本添加标签 查看所有的标签 //git tag 跳转到指定的标签 //git checkout v1.0 删除标签 //git tag -d 标签名 推送标签到远程 //git push origin 标签名 一次性推送全部尚未推送到远程的本地标签 //git push origin --tag git push --set-upstream [https://github.com/zhengyanzy/UserLogin.git] [master] 删除已经推送到远程的标签 git tag -d 标签名 //先从本地删除 git push origin :refs/tags/标签名 //在从远程删除:
8、忽略掉需要上传的某些文件
创建.gitignore 文件 cd 到本地仓库内的目录下 touch .gitignore 在其中添加 本地仓库内的目录下的文件名 //表示不让文件推上GitHub 服务器上,节约时间
在.gitignore中添加 .idea/ 表示不会被添加到仓库中
9、补充
git pull 操作 完整的格式:$ git pull <远程库名> <远程分支名>:<本地分支名> 比如,取回远程库中的online分支,与本地的online分支进行merge,要写成: git pull origin online:online 如果是要与本地当前分支merge,则冒号后面的<本地分支名>可以不写 注意:本地修改代码后,每次从本地仓库push到远程仓库之前都要先进行git pull操作,保证push到远程仓库时没有版本冲突。
注意事项
参考文献
git分支的理解
https://www.cnblogs.com/52php/p/6611828.html
origin的理解