git 常见的使用命令总结

1.显示提交日志信息

#显示完整提交信息
git log

#显示简略提交信息
git log --oneline

2.回退到上一次的commit

丢弃当前的更改

git reset --hard HEAD
git reset --hard <commit-hash>

不丢弃当前的更改,只移动分支指针

git reset --soft <commit-hash>

3.git 连接github(gitee 同理)

用ssh生成一个公钥

ssh-keygen -t rsa -C "xxx@qq.com"

生成多个密钥

# 存放地址:~/.ssh/github_id_rsa
# github_id_rsa为文件名
ssh-keygen -t rsa -C '[邮箱]' -f ~/.ssh/github_id_rsa

回车之后会出现如下所示的输出,直接按回车即可:

Generating public/private rsa key pair.
Enter file in which to save the key
(/Users/your_user_directory/.ssh/id_rsa): (按回车键)
Enter passphrase (empty for no passphrase): (按回车键)
Enter same passphrase again: (按回车键)

密钥文件就生成了,默认在用户目录下,如:C:\User\xxx.ssh\ 这个文件夹中。其中的 xxx 是你的 windows 用户名。

将公钥添加到 github 中
在 C:\user\xxx.ssh\ 文件夹中找到 id_rsa.pub 这个文件,用文本编辑器(如记事本)打开,复制里面的所有内容
登陆 github 账号,点击头像旁的小三角展开,点击 settings-SSH and GPG keys-New SSH key,在Title中取一个名字(任意),key中粘贴你刚刚复制的内容。然后点击 Add SSH key 即可

测试是否关联成功

ssh -T git@github.com

出现以下结果即为成功:

Hi CodeGetters! You've successfully authenticated, but GitHub does not provide shell access.

4.上传代码到远程仓库

1.第一次

git push -u origin master

2.不是第一次

git push origin master

5.查看连接的远程仓库

git remote -v

6.分支

1、 查看本地分支情况

git branch                   

2、新建一个分支test

git branch test         

3、切换到新建的分支test

git checkout test         

4、 将新建分支test推送到GitHub上

git push origin test

5、创建新分支 test 并切换到新分支 test

git checkout -b test 

5.查看远程分支

git branch -r

6.查看所有分支情况

git branch -a

6.连接远程仓库

git add origin 仓库地址

7.查看分支状态

git status

8.将服务器上的最新代码拉取到本地

git pull

查看/修改提交用户名、邮箱

1.查看 用户名,邮箱

git config user.name
git config user.email

2.修改用户名、邮箱

git config --global user.name "username"
git config --global user.email "email"

9.拉取最新代码覆盖本地

# 重置索引和工作目录
git reset --hard
# 更新代码
git pull

10.更改远程仓库地址

git remote set-url origin <url>

11.查看本地分支对应的远程分支

git branch -vv

12.设置本地分支对应的远程分支

git branch --set-upstream-to=origin/远端分支名 本地分支名

13.追加提交

1.还没有push到远程

# 提交修改的文件
git add .

# 修改上一次的提交
git commit --amend

2.已经push到远程了

# 提交修改的文件
git add .

# 修改上一次的提交
# 修改提交信息后保存
git commit --amend

# 推送(本地分支:远程分支)
git push origin master:master

14.回滚到上次提交

# 回到上个commit
git reset --hard HEAD~1
# 强制推送
git push --force

15.Github进行fork后如何与原仓库同步

1.进入本地仓库的目录
2.执行命令 git remote -v查看远程仓库的路径
3.设置上游代码库(upstream)

git remote add upstream 原仓库地址

4.检查是否设置成功
5.检查本地是否有未提交的修改,如果有,则把本地的有效修改,先从本地仓库推送到github仓库。最后再执行一次git status检查本地已无未提交的修改

git add -A
#或
git add filename 

git commit -m "your note" 
git push origin master git status

注:这一步作为新手,建议严格执行,是为了避免大量无效修改或文本冲突带来的更复杂局面
6.抓取原仓库的更新

git fetch upstream

7.切换到master分支

8.合并远程的master分支

git merge upstream/master

9.解决冲突
使用git status检查是否有冲突,如果有就需要解决冲突,如果没有则进行下一步

#保留远程仓库的文件
git checkout --theirs 文件名
# 保留自己的代码文件
git checkout --ours 文件名
# 保存在本地仓库中
git add -A

9.推送修改

git add .
git commit -m 'info'
git push

删除分支

$ git remote -v
origin  https://github.com/test/test.git (fetch)
origin  https://github.com/test/test.git (push)
test    https://github.com/test/onceAgain.git (fetch)
test    https://github.com/test/onceAgain.git (push)
# 删除其中一个
$ git remote remove test

##16.退出git log
英文状态下按q ,即可退出

17.删除本地分支

git branch -d branchName

18.配置git的最低速度和最低速度时间

git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999

怎么PR

如何在github上提交PR

git commit后,如何撤销commit

git reset --soft HEAD^

注意:
请不要将 soft 改为 hard,这意味着将你所改动的内容全部删除到文件未改动之前

撤销git add 的内容

# 查看已经 add 的内容
git status
# 取消 add
git reset .

拉取远程仓库最新代码

git fetch --all

git reset --hard origin/main

git pull

回滚以前的仓库

这个命令用于回滚到以前的目标版本但是该版本以后的版本都会消失

# 查看提交日志 commit hash
git log
# or
git reflog

# 回滚到目标版本
git reset --hard xxxx

# 执行远程回滚命令
git push -f

拉取远程仓库指定分支代码

以拉取 dev 分支为例

git clone -b dev https://xxxx.git

拉取远程仓库 dev 分支的某个版本的代码并修改合并

# 拉取代码
git clone https://xxx.git

# 进入仓库切换到 dev 分支
git checkout -b dev

# 与远程仓库进行同步
git fetch origin dev

# 找到想要拉取的版本哈希值(后面也要用到)
git log origin/dev

# 拉取代码
git checkout xxx

# 修改代码

# 确认所处分支
git branch 

# 将代码放到暂存区并提交
git add .

git commit -m 'xxx'

# 切换回 dev
git checkout dev

# 合并刚才的分支
git merge 刚才的哈希值

# 推送分支
git push origin dev

debug 连接

# 在连接 gitee 失败时可以进行 debug,github 未尝试
ssh -T git@gitee.com -vvv

暂存当前工作目录的临时状态

# 将当前工作目录暂存
git stash

# or assign message
git stash save "stash message"

# 查看已保存的 stash 列表
git stash list

# 最新的 stash 中的更改应用到当前工作目录中,但不会从 stash 中移除
git stash apply

# 恢复最新的 stash
git stash apply stash@(n)

# 恢复最新的 stash 并从 stash 中移除
git stash pop

# 移除最新的 stash
git stash drop

克隆某仓库的某个目录文件

# 新建一个文件夹
mkdir test && cd test

# git 初始化
git init

# 连接远程仓库
git add origin ....

# 启用稀疏模式
git config core.sparsecheckout true

# 选择想要克隆的目录(后面部分不用改变)
echo "src/api" >> .git/info/sparse-checkout

# 拉取代码
git pull origin main

隐藏 git bash 前缀名

打开 git 存储目录位置,打开 \etc\profile.d 下的 git-prompt.sh
修改一下内容

    # 这里的 \u \h 看着修改
	PS1="$PS1"'\u@\h '             # user@host<space>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

画一个圆_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值