Git学习总结

本文全面总结了Git的基本命令,包括初始化、添加文件、提交、查看状态、回退、删除文件等操作,以及如何关联远程仓库、推送内容、创建和管理分支、合并分支等高级功能。此外,还介绍了如何使用SSH密钥、远程库信息查询、代码提交流程和版本控制技巧。

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

看了廖雪峰大大的博客,学习了git的使用,收益很多。
由于公司不能连外网,因此后面跟远程仓库的交互不能实践。

本文主要是把一些命令给总结整理了下:

初始化一个Git仓库

git init

添加文件到Git仓库

分两步:
git add “filename” //添加文件,可反复多次使用,添加多个文件
git commit -m “description” //提交

查看仓库状态

git status

查看文件修改内容

git diff “filename”

查看提交日志

git log --pretty=oneline

查看历史日志

git reflog

回退

git reset --hard HEAD^
//回退到上一个版本
//在Git中,用HEAD表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD^,当然往上100个版本是HEAD~100

git reset --hard commitid
// commitid可以通过提交日志查看,一般只需要前6位即可

撤销暂存区中的文件(已经add 但是没有commit的文件)

git reset HEAD “filename”

撤销工作区中的文件(修改但是没有add的文件)

git checkout – “filename”
//git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”

删除文件

git rm “filename”

远程仓库

添加SSHKey:
ssh-keygen -t rsa -C "youremail@example.com"
将$HOME/.ssh/id_rsa.pub中的内容设置到git账号中

关联远程仓库

git remote add origin git@github.com:Aaron.DH/repo.git

推送内容

git push -u origin master

克隆远程仓库

git clone git@github.com:Aaron.DH/repo.git

分支管理
创建分支

git branch dev

切换分支

git checkout dev
(git checkout -b dev 创建并切换分支)

查看分支

git branch

合并分支

git merge dev (将dev分支内容合并到当前分支)
git merge --no-ff -m “merge with no-ff” dev

删除分支

git branch -d dev

储存工作区的修改

git stage

查看储存情况

git stage list

恢复储存的工作区

git stash pop

如果有多次stage,可以恢复到指定的stage

git stash apply stash@{0}
git stash drop stash@{0}

查看远程库信息

git remote -v

从本地推送分支

git push origin branch-name
(如果推送失败,先用git pull抓取远程的新提交)

在本地创建和远程分支对应的分支

git checkout -b branch-name origin/branch-name
建立本地分支和远程分支的关联

查看标签

git tag

创建标签

git tag v1.0
git tag v0.9 commitid

基于Gerrit的代码提交流程
初次提交代码
  1. 切换分支(直接基于origin/master切换, 这样切换的分支的代码一定是最新的)
    git checkout -b branchX origin/master

  2. 修改代码后提交
    git add XXX(如果是所有文件都需要添加可以直接git add .或者git add --all)
    git commit

  3. 更新一次代码(这个操作主要是由于在切换分支到代码commit过程中其他人也有提交合并代码,所以需要更新一次保证代码是最新的)
    git fetch --all
    git rebase origin/master
    (如果本地还有未提交的代码但是又不想提交的, rebase会报错, 可以执行git stash)

  4. 如果有冲突则解决冲突(只能手动解决)
    冲突解决完之后
    git add XXX
    git rebase --continue

  5. git review

  6. 如果之前有git stash的, 可以执行git stash pop

修改代码(代码提交后发现有问题需要重新修改)
  1. 切换到commit所在的分支

  2. 修改代码后提交
    git add XXX
    git commit --amend(重点:–amend会直接在之前的commit基础上提交, 而不会生成一个新的commit, 需要注意一个情况, 就是如果你的commit已经被merge, 则不能在此commit基础上继续提交)

  3. 后续的步骤是一样的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值