git常用命令总结自用版

首次使用git 先创建一个用户名和邮箱方便做sha加密ssh key
git config --global user.name “arthurye”
git config --global user.email “your_email@gmail.com”

创建ssh加密防止陌生人往你仓库传东西
ssh-keygen -t rsa -C “your_email@gmail.com”

加密完去c盘/用户/administrator/.ssh/ 右键运行 git bash
用vim id_rsa.pub 或者 cat id_rsa.pub查看公钥 把公钥串并复制到github上创建新公钥加密
去github上登陆后打开右上角头像的setting,进入SSH and GPG keys选项,将之前复制的ssh密钥放上
成功创建公钥

用$ ssh -T git@github.com查看是否加密成功

回传 You’ve successfully authenticated, but GitHub does not provide shell access.
就成功了

创好了可查看配置
git config --list

初始化创建本地仓库
选好目录位置,右键 git bash打开git命令窗口
输入
git init

查看当前仓库文件更新状态
git status

不同步会有红色文件告诉你不同

然后将本地文件添加到缓存区
git add filename(带扩展名)或者 git add . 上传所有变动的文件
再看git status 变动文件就变成蓝色的了

然后从缓存区添加到本地仓库
git commit -m “描述”
再看git status就没有提示了

与远端仓库关联
git remote add origin 远端仓库的https链接或者ssh链接

移除远端创库关联
git remote remove origin

提交本地仓库到远端仓库
git push -u origin master

从远端仓库仅下载到本地仓
git fetch origin master

再比较差异
git log -p master …origin/master

之后合并 注意此时一定要是再master分支状态下合并 不是就用checkout切换到master再合并
git merge origin/master

从远端仓库拉回来,且一部搞定下载和合并
git pull origin master

看提交日志
git log
精简排版的提交日志
git log --pretty=oneline

如果想回到前一个提交的版本可以用
git reset --hard HEAD^
或者用git relog先查看之前的操作,对应的版本号前六位
然后用版本号回滚
git reset --hard 要回退的版本号
这些撤销都是在回滚本地仓库

如果只是再工作区修改了,用
git checkout – 要撤销回滚的文件名

删除某个文件
git rm ***.txt
再添加某个文件

git add ***.txt

或者一步用下面命令覆盖
git mv xx.txt xxx.txt
即删除xx.txt 用xxx.txt替换它了

如果只是修改名字 去掉git即可
mv xx.txt xxx.txt

文件删除
rm xxx.txt
单纯删除但是没有add commit到本地仓库,直接从本地创库拉回来
git checkout – xxx.txt
即可恢复
用ls查看是否恢复成功

分支操作

创建新分支
git branch xx(新分支名)
切换到这个分支
git checkout xx

一步到位创建并进入分支
git checkout -b xx

如果要合并分支内容到主分支
先切换到主分支
git checkoutmaster

再用git merge合并到从分支内容到主分支
git merge 从分支名

然后删除从分支
git branch -d 从分支名

设置git指令缩写的方法,熟悉了之后可以自定义git缩写
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch

意思如第一个 把status缩写称st
以后 git status 直接打 git st 即可

想查看工作区和缓存区文件不同用
git diff 文件名
即可

如果远端被其他合作伙伴更新了,我们这边本地仓还没同步
此时你要push你的新代码到远端时会报错提示版本不一致
你就要先把远端fetch下来手动解决冲突然后再push上去即可成功

方法
由于冲突你直接合并到本地master可能不太合适
我们先用git branch temp创建一个临时分区temp放远端新版本
git fetch origin master:temp
然后用git diff temp 比较本地master和temp的区别,

然后合并temp到master
git merge temp
然后删除temp
git branch -d temp

这是已经和远端同步了你可以把自己的新代码push到远端了。

解决冲突方法2
先看远端和本地不同在哪
git remote -v
然后
git fetch origin master 下载下来到master
再用git log -p master… origin/master 查看不同
最后
git merge origin/master合并到本地即可

如果弄完再git status报错HEAD detached from (差异版本号)
说明还是有游离文件为同步到工作区

我们先创新临时temp放游离文件
git branch tmp 280ble0

然后切换到主分支
git checkout master

合并temp
git merge tmp
合并玩删除temp
git branch -d temp

此时再 git status发现问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值