程序员必读之git常用操作

日常开发中我们都是进行协同开发工作,所以在代码管理上就不得不使用仓库托管代码,所以懂一些git操作尤其重要。

下面列出一些常用的git 操作

git的使用

初始化

git init初始化本地仓库,初始化后便与远程仓库进行关联,可以进行git clone等操作

克隆或者拉取分支

git clone xxx 克隆远程仓库的文件到本地
git pull xxx 从远程获取最新版本并merge到本地
git fetch xxx 从远程获取最新到本地,不会自动merge

分支

git branch 查看所有分支与当前使用的分支
git branch -a 查看远程仓库的分支
git checkout xxx 切换到xxx分支上
git checkout -b xxx 新建一个分支并且切换到新建的xxx分支上去
git push origin [远程名] :[分支名] example: git push origin test:test-v1

文件对比

git status查看当前文件的状态,本地文件与本地仓库文件对比,从而得出是否改动
git diff 对比本地仓库中的文件与当前本地文件的差别

文件提交

git add 添加本地文件到本地仓库
git commit -m 'xxx(文件提交信息)'将本地文件提交到本地仓库中
git commit --amend --no-edit 保留上一次的提交和提交信息,得到一次线性的提交
git push --force-with-lease origin master 将amend修改的信息重新提交(如果远端有其他人推送了新的提交,那么推送将被拒绝,这种拒绝和没有加 --force 参数时的拒绝是一样的,会覆盖别人的提交)
git push origin HEAD:refs/for:xxx 将本地仓库的文件推送到远程仓库

时空穿梭

git reset --soft 版本号|HEAD^次数 实现软回滚,只将远程仓库的推送回滚到原来的版本,而本地仓库还是保留当前提交的版本信息
git reset --hard 版本号| HEAD^次数 实现硬回滚,只将远程仓库的推送回滚到原来的版本,并且本地仓库也回滚到原来提交的版本信息
git revert 用法同上 只是生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留

查看提交信息

git log 查看commit的版本信息
git reflog 查看所有版本的commit ID

更新本地仓库的文件

git checkout 文件 用暂存区中的内容或者版本库中的内容覆盖掉工作区

分支合并

git merge b 将b分支合并到当前分支上,但是会保留原来分支的历史记录并且记录合并的分支
git rebase main 在b分支进行rebase后会将main合并到当前分支,但合并后就感觉是在一个分支上进行开发的,得到一个线性的开发分支
git cherry-pick commitID 将其他分支的commit线性变基到当前分支的最新commit,从而能够获取到其他分支的代码,保证了当前分支也会拥有其他分支的代码

代码拉取

git fetch 拉取远端的代码,并且不会进行自动merge,存在冲突的话需要自己解决
git pull 拉取远端的代码,会使用自动合并策略进行冲突合并,相当于git fetch + git merge功能

tag功能

git tag 标签可以针对某一时间点的版本做标记,常用于版本发布,用来标记某一个重要的发布版本
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值