Git 指令汇总

本文详述了Git的基本操作,包括配置用户信息、克隆仓库、初始化、提交、回退、标签管理、远程操作等。此外,还介绍了如何处理分支、合并提交、设置代理、管理SSH密钥以及子模块的添加与使用。通过实例展示了创建项目、撤销修改及修改历史提交人的方法,是Git初学者的实用指南。
摘要由CSDN通过智能技术生成

详细内容

详细内容以及后续更新补充网址。
详情请见:https://www.daobanmojie.com/13.html


指令

建仓相关

git config

设置用户信息,配置用户名和邮箱:

git config --global user.name "盗版摩羯"
git config --global user.email "daobanmojie@qq.com"

显示当前的 git 配置信息:

git config --list
git clone

克隆远端已经存在的一个仓库:

git clone https://.../.../xxx.git
git init

用于在目录中创建新的 Git 仓库,该命令执行完后会在当前目录生成一个 .git 目录【通常隐藏文件夹】:

git init

仓库操作

git add

将文件写入暂存区。
添加一个或多个文件到暂存区:

git add [file1] [file2]

将当前目录下的所有文件添加到暂存区:

git add .
git commit

将暂存区内容添加到本地仓库中:

git commit -m [message]
git reset

退回某一次提交的版本 git reset [--soft | --mixed | --hard] [HEAD]

回退所有内容到上一个版本:

git reset HEAD^

回退三个版本 [ --hard : 强制执行,忽略没有提交的更改]:

git reset --hard HEAD~3

回退到指定版本号 [ 查看commit 的编号]:

git reset --hard 44b838a3

本地的回退到和远程的一样:

git reset --hard origin/master
git rm

从暂存区和工作区中删除文件:

git rm [file2]

从暂存区移除add的文件:

git rm --cached [file2]

仓库查看

git log

查看历史提交记录

git log
git status

查看文件有无更改

git status

标签操作

git tag

查看标签:

git tag

在当前commit ID版本打标签git tag -a <tagname> -m "注解"

git tag -a v1.0 -m 'Version 1.0'

追加标签到指定版本:

git tag -a v1.1 c7ed41 -m 'my version 1.1' 	#给版本号c7ed41的代码添加标签。

推送单个标签:

git push origin v1.0

推送本地全部标签:

git push origin --tags

删除远端标签:

git tag -d v1.0 	#git tag -d <tagname>
git push origin :refs/tags/tag_name

远端操作

git remote

用于在远程仓库的操作。
git remote add 添加远端仓库地址:

git remote add origin https://.../.../xxx.git

git pull

从远端拉取代码更改到本地git pull <远程主机名> <远程分支名>:<本地分支名>

git pull

git push

推送本地更改到远端git push <远程主机名> <本地分支名>:<远程分支名>

git push

应用

创建项目

方式一:克隆仓库

克隆一个空的远端仓库,并提交README。

git clone https://.../.../xxx.git
cd xxx
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
方式二:已有文件夹或仓库

本地已经有项目,并在远端创建了仓库。

cd dir_xxx 
git init
git remote add origin https://.../.../xxx.git
git add .
git commit -m "注释"
git push -u origin master

代理

# 设置代理
git config --global http.proxy http://127.0.0.1:8889 #端口号查看vpn代理的http设置

#设置socks5代理
git config --global http.proxy socks5://127.0.0.1:1089

# 查看代理:
git config --global --get http.proxy

# 取消代理
git config --global --unset http.proxy

PS: 速度非常慢又不想设置代理的可以把链接的 github.com 改成 github.com.cnpmjs.org 。

合并commit

这里的commid值,是先提交的值。

git rebase -i [分支名或commit的hash值]

修改对每个commit记录需要持行的操作
第一列是commit的持行命令,命令含义如下:

  • pick:意思是要会执行这个 commit
  • squash:将这一行的 commit 与上一个 commit 进行合并
  • fixup:与 squash 相同,只是不会保留这行 commit 的提交 message 信息

撤销修改

git rebase –abort

**PS:**自动组织合并两个 commit git rebase -i –autosquash

配置 SSH 密钥

查看 SSH 密钥。

cat ~/.ssh/id_ed25519.pub

如果没有生成,生成语句

ssh-keygen -t ed25519 -C "<您的邮箱>"

再次查看并复制内容粘贴到托管平台

添加submodule

git submodule add [库地址]

xxx1项目添加使用xxx2项目

cd xxx1
git submodule add https://.../.../xxx2.git
git add .
git commit -m "Add submodule"
git push

使用submodule

git submodule update --init --recursive
git clone  https://.../.../xxx1.git
cd xxx1
# 指定版本没有可以忽略
git checkout v4.2 
git submodule update --init --recursive

分支

git branch [要创建的分支名]

基于你当前所在的这个分支最后一次提交的文件创建新的分支。

git checkout [要跳转到的分支名]

切换到指定分支名的分支。

git merge [要合并的分支名]

例如:创建并跳转到newbranch分支工作,最后把分支合并到master

git branch newbranch
git checkout newbranch
...
git checkout master
git merge newbranch

修改历史commit的提交人

git rebase -i HEAD~n【其中的n为记录数】

git rebase -i HEAD~3
pick 1 commit 1
pick 2 commit 2
pick 3 commit 3

把需要更改的commitpick改为edit后保存退出。

edit 1 commit 1
edit 2 commit 2
pick 3 commit 3

输入amend命令重置commit 2的用户信息:

git commit --amend --reset-author

进行下一步

git rebase --continue

更改commit 1的信息

git commit --amend --reset-author

进行下一步

git rebase --continue

提示Successfully rebased and updated refs/...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盗版摩羯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值