文章目录
- 1.显示提交日志信息
- 2.回退到上一次的commit
- 3.git 连接github(gitee 同理)
- 4.上传代码到远程仓库
- 5.查看连接的远程仓库
- 6.分支
- 6.连接远程仓库
- 7.查看分支状态
- 8.将服务器上的最新代码拉取到本地
- 查看/修改提交用户名、邮箱
- 9.拉取最新代码覆盖本地
- 10.更改远程仓库地址
- 11.查看本地分支对应的远程分支
- 12.设置本地分支对应的远程分支
- 13.追加提交
- 14.回滚到上次提交
- 15.Github进行fork后如何与原仓库同步
- 17.删除本地分支
- 18.配置git的最低速度和最低速度时间
- 怎么PR
- git commit后,如何撤销commit
- 撤销git add 的内容
- 拉取远程仓库最新代码
- 回滚以前的仓库
- 拉取远程仓库指定分支代码
- 拉取远程仓库 dev 分支的某个版本的代码并修改合并
- debug 连接
- 暂存当前工作目录的临时状态
- 克隆某仓库的某个目录文件
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
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>