Git命令

初始化命令(下面这些基本上够了)

git init
git config user.name Meta39
git config user.email 5399553@qq.com
git add .
git commit -m "描述"
git remote add [远程仓库分支别名] [远程SSH或者Https]
git push [远程仓库分支别名] [远程仓库分支名]
#更新并合并内容git pull origin master
git pull [远程库地址别名] [远程分支名]

clone、pull或push等证书异常

— fatal: unable to access ‘https://github.com/xxx.git/’
— SSL certificate problem: unable to get local issuer certificate

git config --global http.sslverify false

配置代理

如果是没有拉项目的情况下,建议先配置全局代理,等拉完代码以后再取消全局代理,设置局部代理,防止某些情况下不需要使用全局代理也使用了全局代理。
例如:公司的是国内的gitlab地址,你自己的代码是github地址,使用了全局代理,github拉取代码没问题,但是公司代码无法拉取。

  1. 设置全局代理
    如果是https则为git config --global https.proxy https://127.0.0.1:端口
git config --global http.proxy http://127.0.0.1:10809
  1. 取消全局代理
    如果是https则为git config --global --unset https.proxy
git config --global --unset http.proxy
  1. 局部代理
    如果是https则为git config --local https.proxy https://127.0.0.1:端口
git config --local http.proxy http://127.0.0.1:10809
  1. 取消局部代理
    如果是https则为git config --local --unset https.proxy
git config --local --unset http.proxy

用户名相关

当前项目用户名

查看当前项目用户名

git config user.name

修改当前项目提交代码的用户名
new_username:新用户名

git config user.name "new_username"

全局用户名

查看全局用户名

git config --global user.name

修改全局用户名
new_username:新用户名

git config --global user.name "new_username"

如果无法修改名称,则要检查是否配置了环境变量

配置环境变量

在这里插入图片描述
找到git的安装目录
在这里插入图片描述

where git

在这里插入图片描述

一般操作git add 文件名.类型——》 git commit -m “描述” 文件名.类型

#创建文件
vim 文件名.类型#创建文件
按键盘I输入
按键盘ESC退出编辑
cat [文件名.类型] #查看文件内容
:set nu #查看行号
:wq #保存修改并退出编辑器
#添加文件到本地仓库暂存区(移除文件git rm --cached 文件名.类型)
git add 文件名.类型
#检查文件是否有修改
git status
#提交文件到仓库(-m 描述)
git commit -m "描述" 文件名.类型

查看历史记录

#(HEAD@{移动到当前版本需要多少步})
git reflog
#回退版本
#局部索引值就是git reflog第一行的ID
git reset --hard [局部索引值]

版本比较

#不带文件名比较多个文件
git diff
#工作区和暂存区比较
git diff [文件名]
#工作区和本地库历史记录比较
git diff [HEAD] [文件名]

分支(节点)

#创建分支
git branch [分支名]
#查看分支
git branch -v
#切换分支
git checkout [分支名]
#合并分支(修改内容在fu分支,因此合并分支需要切换到master分支,然后执行merge命令)
git checkout [被合并的分支,如:master]
git merge [有新内容的分支,如:fu]

解决冲突

#改完文件保存以后(git commit -m "描述" 即可,不要带文件名)
git add [文件名]
git commit -m "描述"

在这里插入图片描述

提交(上传)

#查看远程仓库https项目地址
git remote -v
#添加远程仓库https项目地址
git remote add [远程库地址别名,如:origin] [远程仓库https项目地址]
#上传
git push [远程库地址别名,如:origin] [远程分支名,如:master]

克隆

#完全克隆,创建origin远程地址别名,初始化本地库
git clone [远程仓库克隆地址]

更新

#更新
git fetch [远程库地址别名,如:origin] [远程分支名,如:master]
#合并内容git merge [origin/master]
git merge [远程库地址别名/远程分支名]
#推荐:单人修改用pull。多人修改,先fetch后merge
#更新并合并内容git pull origin master
git pull [远程库地址别名] [远程分支名]

跨团队协作

  1. 自己账户访问对方github项目地址,然后点击Fork
  2. 本地clone克隆,修改后commit提交到本地仓库,然后再push上传到远程仓库。
  3. 点击远程仓库对方项目的Pull requests,New pull requests,Create pull requests
  4. 对方点击自己的远程仓库项目的Pull requests,files changed查看修改情况。
  5. 如果没问题,对方点击Merge pull requests合并内容

ssh免密登录

#进入家目录
cd ~
#删除ssh
rm -r .ssh/
#生成ssh
ssh-keygen -t rsa -C [自己github邮箱账号]
#进入ssh目录
cd .ssh/
#复制到github账号
cat id_rsa.pub
#进入github账户点击用户的settings——》SSH and GPG keys——》new SSH key
#本地使用ssh提交git remote add origin_ssh [ssh地址]
git remote add [远程仓库别名] [ssh地址]

在这里插入图片描述

撤销最后一次提交(谨慎操作)

撤销最后一次提交,然后再执行推送更改

git reset --hard HEAD~1
git push --force

撤销示例:

D:\workspace\demo>git reset --hard HEAD~1  
HEAD is now at 4cae15a 测试撤销上一次提交

D:\workspace\demo>git push --force         
warning: ----------------- SECURITY WARNING ----------------
warning: | TLS certificate verification has been disabled! |
warning: ---------------------------------------------------
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/Meta39/demo.git
 + 11149...4cae1a main -> main (forced update)

撤销指定hash值的提交(谨慎操作)

获取提交的哈希值日志

git log

命令输出示例:

commit 4cae15adbf762c4281c3727280e63df27e0f5e8 (HEAD -> main, origin/main, origin/HEAD)
Author: Meta39 <xxxxxxx@qq.com>
Date:   Tue Apr 30 15:02:10 2024 +0800
测试撤销上一次提交

commit 4cae15adbf762c4281c3727280e63df27e0f5e8 (HEAD -> main, origin/main, origin/HEAD)
Author: Meta39 <xxxxxxx@qq.com>
Date:   Tue Apr 30 15:02:10 2024 +0800
首次提交

撤销指定hash值的提交,然后推送更改

git reset --hard 4cae15adbf762c4281c3727280e63df27e0f5e8
git push --force
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值