Git 命令

本文详细介绍了Git的相关操作。涵盖本地操作,如分支创建、切换、合并等;远程仓库操作,包括克隆、下载、拉取、推送等;还提及增加私钥、清理冲突、gitconfig设置及登录失败解决办法,为使用Git进行版本控制提供了全面指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模拟地址

1. 本地

  1. git commit;

  2. git branch 分支名 #新建分支 早建分支!多用分支!

  3. git checkout 分支名 #切换到分支上

  4. git merge 分支名 #需要在主分支上

  5. git rebase master #在分支合并到主分支,后切到主分支在 git rebase 分支名

  6. git checkout master^^ #爷爷节点

  7. git checkout Head~4 #向上移动4 (本身不算)

  8. git branch -f master HEAD~3 #将 master 分支强制指向 HEAD 的第 3 级父提交

  9. git reset HEAD~num 撤销更改(本地分支)

  10. git revert HEAD~num 撤销更改

  11. git cherry-pick 提交号(提交的Hash值) #将一些提交复制到当前位置(HEAD),多个提交号用空格

  12. git rebase -i HEAD~num #交互式 选择将一些提交复制到当前位置( HEAD~num 位置) 列表列出 HEAD~num 所有提交

  13. git commit --amend #对以前提交的记录做一些小的修改

  • git rebase HEAD~n 将需要修改的提交移动到最近
  • git commit --amend #对修改进行提交
  • git rebase HEAD~n #i重新移动提交顺序
  • git branch -f master 新位置 # 强制修改主分支到新位置
  1. git tag v1 提交号 # 标签 签出后 进到 分离 HEAD 状态,因不能再TAG 上进行 COMMIT;
  2. git describe
    输出:__g
    tag 表示的是离 ref 最近的标签, numCommits 是表示这个 ref 与 tag 相差有多少个提交记录, hash 表示的是你所给定的 ref 所表示的提交记录哈希值的前几位。
  3. git checkout HEAD ~^2~3 # 快速定位 ^2 (多父时使用)

2. 远程仓库

远程分支:<remote name>/<branch name>

  1. git clone

  2. git fetch #下载
    从远程仓库下载本地仓库中缺失的提交记录
    更新远程分支指针(如 o/master)
    不会改变你本地仓库的状态。它不会更新你的 master 分支,也不会修改你磁盘上的文件
    参数与 push 类似方向相反
    git fetch origin foo:会到远程仓库的 foo 分支上,然后获取所有本地不存在的提交,放到本地的 o/foo 上
    git fetch orgin :foo #foo 远程也没有,在本地仓库创建分支

  3. git pull # 拉去数据 就是 git fetch 和 git merge 的缩写!
    git pull --rebase 就是 fetch 和 rebase 的简写!
    git fetch origin bar~1:bugFix; git merge bugFix

  4. git push
    git push <remote> <place>
    <place>: 可以是::
    git push origin master^:foo # 将本地的master 上一个修改提交远程的 foo 分支
    git push orgin :foo #foo 远程有,删除远程foo 分支

  5. git rebase o/master side1 #在分支side1 合并到o/master

rebase 的优缺点:

  • 优点:Rebase 使你的提交树变得很干净, 所有的提交都在一条线上
  • 确定Rebase 修改了提交树的历史
    merge:
  • 保留提交历史,因此更偏爱 merge
  1. 远程追踪分支
  • git checkout -b localBranchName o/master # 设置远程中分支与本地分支的关系(隐含的 push 目的地以及 merge 的目标)
    master 和 o/master 的关联关系就是由分支的“remote tracking”属性决定的
    这个clone 由git 自动设置好:
    local branch “master” set to track remote branch “o/master”
git checkout -b foot o/master ;git commit;git push;#我们将一个并不叫 master 的分支上的工作推送到了远程仓库中的 master 分支上

 
  • git branch -u 命令

git branch -u o/master foo #如果当前就在 foo 分支上, 还可以省略 foo

3. 其他

3.1. 增加私钥

错误:
Error:SSL certificate problem: self signed certificat
解决:
git config --global http.sslVerify "false"
或者
set GIT_SSL_NO_VERIFY=true git clone

3.2. 增加私钥

ssh-keygen -t rsa -C "co6co@qq.com"
cat id_rsa.pub									    #复制
ssh-add ~/.ssh/id_rsa						   #增加私钥```

ERROR:Could not open a connection to your authentication agent
ssh-agent bash

3.3. 清理冲突

git init
git remote add origin https://gitlab.xxx.com/userName/web.git
git pull --rebase origin master


#有风险的,会删除本地的修改

git clean -d -fx "  " 
		x -----删除忽略文件已经对git来说不识别的文件
		d -----删除未被添加到git的路径中的文件
		f -----强制运行
git push -u origin master					

4. gitconfig

本地:项目所在文件夹\.git\config
全局:C:\Users\Administrator

系统:X:\Program Files\Git\etc

5. 登录失败

git Incorrect username or password (access token) fatal,
windows 控制面板中找到 凭据管理 -->输入正确的用户名和密码!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ynchyong

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

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

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

打赏作者

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

抵扣说明:

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

余额充值