git工作必学操作

工作区(working directory),暂存区(staging directory),版本库(repository),可以对各个区的内容进行修改,以及通过git diff查看他们的区别。

一.基本操作

1.初始化git

        git init

        对应撤销操作:

        rm -rf .git

2.添加文件到暂存区

        git add .        或者        git add test.txt

        对应撤销操作:

        撤销所有文件        git reset

        撤销单个文件        git reset test.txt

3.提交文件到版本库

        git commit -m 'first commit'

4.指定本地仓库对应的远程仓库

        git remote add origin xxxx

        对应撤销操作:

        删除本地指定的远程仓库        git remote remove origin

5.推送远程分支,并关联到本地分支

        git push -u origin main        (-u关联本地分支)

6.清除git工作区

# 删除 untracked files
git clean -f
 
# 连 untracked 的目录也一起删掉
git clean -fd
 
# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd
 
# 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd

二.代码合并

        git rabase main        合并main分支到指定分支,并且基于原分支,不会分叉

        git merge main        合并main分支到指定分支,会分叉,有log

        git merge --no-ff -m 'add merge info' dev        将dev合到当前分支,记录分支操作

三.代码对比

        工作区代码对比:

                git diff        (对比上一个版本(commit))

        暂存区代码对比

                git diff --cached        (对比上一个版本(commit))

        暂存区与工作区进行对比

                git diff HEAD

四.代码回退

        查看历史版本库:

                git log --oneline

        查看历史版本库详细:

                git log --oneline --graph

        回退到过去某个版本:

                git checkout 1d7a184                

        从过去某个版本回到现在:

                git checkout main                

        彻底回到某个版本:(之前的commit log都去掉,直接以过去版本作为最新提交,作为master)

                git reset --hard xxxx

        查看之前已经不存在的版本:

                git reflog(然后在通过上面的命令回到过去版本)

五.打tag

        给当前版本打tag:

                git tag v1

        通过tag回到某个版本:

                git checkout v1

六.转移提交

        git cherry-pick dev        将最新的dev分支应用到当前分支

        git cherry-pick hash1,hash2        将两个提交应用到当前分支

        如果发生冲突会默认停下来:

        解决冲突后使用git cherry-pick --continue继续执行

        git cherry-pick --abort发生冲突后放弃合并,回到操作前的样子

        git cherry-pick --quit发生冲突后退出,但不回到操作前

七.更新代码

        git pull

                获取远程最新的版本并merge到本地,自动合并

                本地版本发生变化

        git fetch

                将数据拉取到本地,不会自动合并

                本地版本不变

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

end for time

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

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

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

打赏作者

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

抵扣说明:

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

余额充值