--- git 的一些使用 ---

git 将远程仓库和本地仓库建立连接

git remote add <name> <url> 给远程仓库起的名字和仓库的url 这个名字在你本地就代表的远程仓库

git remote -v 获取拉取和推送远程仓库的url

如果本地仓库有过代码的提交,那么这时在和远程仓库建立连接在拉去会出现这个错误

PS C:\Users\15328\OneDrive\桌面\files\gitee\gitlearn> git pull origin master

From https://gitee.com/ha-big-brother/new-java-code

* branch master -> FETCH_HEAD

fatal: refusing to merge unrelated histories

因为本地仓库和远程仓库没有相同的父提交记录,是俩个完全不同的分支

那么就需要强制合并,忽略之前提交的版本

git pull origin master --allow-unrelated-histories

git 使用ssh clone 仓库

首先在电脑的c盘的user文件下找到.ssh的文件 C:\Users\15328\.ssh

看这里面有没有id_rsa 和 id_rsa_pub 这俩个文件对应的是私钥和公钥

如果没有创建一份ssh Key

随便找个位置打开cmd 输入 ssh-keygen -t rsa -C 'xxxx@qq.com' 这里是自己的邮箱

这样就是成功了

之后打开这个目录 看到 这俩个文件了

将公钥添加到gitte中,打开id_rsa_pub 就获取到了公钥

在设置中的ssh公钥这里添加

之后再使用ssh来clone和上传都不需要密码了

一些命令的使用

git 配置文件的查看

git config -l

设置

git config [--global] user.name 'xx'

删除

git config [--global] --unset user.name

查看git的提交日志

git log

加上 --pretty=oneline 只有一行输出美观些 加上 --graph 会显示出分支的提交图

看到提交id对应的提交信息

git cat-flie -p <提交id>

git add . 提交到暂存区

git commit -m '' 提交到本地仓库

git push <远程仓库名字> <本地分支> 推送到远程仓库

代码回退

如果写的还没有add

git checkout -- file 回退到最近的一次add 或者 commit

如果add到暂存区了但是没有commit本地仓库

git reset --mixed file

如果add了页commit到本地仓库了

git reset --hard HEAD^ 回退到上一个版本 ^^是上俩个

git中删除文件 如果是直接delete删除文件,git还是会跟踪这个文件 他会一位是误删了

git status 中会告诉你

使用 git restore xxx 可以恢复

删除是使用

git rm xx 这样会放弃文件的追踪 然后在删除就彻底删除了

分支

git分支能将修改的内容按分支隔离起来

git branch xx 创建分支

git checkout xx 切换到xx分支

git checkout -b xx 创建xx分支并且使用

分支的合并

git merge xx 将xx分支合并到当前分支 xx不能为当前分支

如果分支之间的由了冲突会报这个错误

Auto-merging put.txt

CONFLICT (content): Merge conflict in put.txt

Automatic merge failed; fix conflicts and then commit the result.

第二行标识我put.txt 出现了冲突,需要自己手动解决 修改这个put.txt 文件并重新add和commit就好

分支的删除

git branch -d xx

将工作区中的修改缓存

git stash

查看所有缓存的修改

git stash list

恢复修改

git satsh pop

也可以使用

git stash apply 只不过他不会删除缓存需要手动删除

git stash drop

git 还可以为命令配置别名

git config [--global] alias.st status 之后git st == git status

相关推荐
lly2024064 小时前
HTML与CSS:构建网页的基石
开发语言
一只会写代码的猫4 小时前
面向高性能计算与网络服务的C++微内核架构设计与多线程优化实践探索与经验分享
java·开发语言·jvm
是小胡嘛5 小时前
C++之Any类的模拟实现
linux·开发语言·c++
csbysj20206 小时前
Vue.js 混入:深入理解与最佳实践
开发语言
笨笨聊运维8 小时前
CentOS官方不维护版本,配置python升级方法,无损版
linux·python·centos
4***V2028 小时前
GitLab Pages配置
git·gitlab·github
Gerardisite8 小时前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
Want5958 小时前
C/C++跳动的爱心①
c语言·开发语言·c++