Git基础命令

git基础命令

git clone -b dev ******
git branch //查看本地所有分支
git branch -r //查看远程所有分支
git branch -a //查看本地和远程所有分支
git branch * //新建分支*
git branch -d * //删除本地分支*
git branch -d -r //删除远程分支并推送到服务器
git branch -m //重命名本地分支
git branch -vv //查看本地分支所关联的远程分支
git branch -u lzs_dev_arm //创建远程分支并将本地分支提交到远程分支

git branch -m old_branch new_branch # Rename branch locally
git push origin :old_branch # Delete the old branch
git push --set-upstream origin new_branch 或者git push -u origin new_branch# Push the new branch, set local branch to track the new remote
git push origin --delete Chapater6 可以删除远程分支Chapater6
git branch -d Chapater8 可以删除Chapater8分支

git pull //直接将远程内容拉到本地并合并
git pull <远程主机名> <远程分支名>:<本地分支名> //将远程分支取回,并与本地分支合并,:后省略表示与当前分支合并
git fetch //远程内容拉到本地,检查后再合并
git fetch+git merge=git pull
git fetch orgin dev:dev1 //将远程dev分支放到本地dev1
git log -p FETCH_HEAD

git checkout //切换分支
git merge dev //将dev合并到当前分支

git push //推送到服务器端分支

git回退
git reset --hard <版本号> //恢复到指定版本
或者
git reset --hard HEAD~1 //恢复到上一个版本
git push -f 强制提交更改

git checkout +id+文件目录文件名 //单个文件恢复

//git中一些选项解释
-d delete 删除
-f force 强制
-m move 移动
-r 远程
-a 所有

git add加入到缓存区
git commit提交到本地版本库
git push推送到远程库

git rm test.txt 删除git版本库中test文件
git clone ssh地址 克隆

git checkout -b dev 创建分支dev,并切换到dev
git switch 切换分支

git merge --no-ff -m “” 非Fast Forward模式merge,不使用Fast Forward模式合并,可以看得到master由其他分支merge的

git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。
基础命令:
$git stash
$do some work
$git stash pop

git rebase:可以把本地未push的分叉提交历史整理成直线

克隆带有子模块的项目
初始化子模块:git submodule init
更新子模块:git submodule update

在这里插入图片描述
git reset --soft HEAD^ 本地修改为上一个版本
–soft
不删除工作空间改动代码,撤销commit,不撤销git add .
–hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。

merge过程

git fetch orgin dev:dev1
git merge dev1
git push origin lzs_dev

rebase

阶段性开发完成后(包含功能代码和单元测试),可以准备提交代码

  1. 首先切换到master分支,git pull拉取最新的分支状态
  2. 然后切回local分支
  3. 通过git rebase -i 将本地的多次提交合并为一个,以简化提交历史。本地有多个提交时,如果不进行这一步,在git rebase master时会多次解决冲突(最坏情况下,每一个提交都会相应解决一个冲突)
  4. git rebase master 将master最新的分支同步到本地,这个过程可能需要手动解决冲突(如果进行了上一步的话,只用解决一次冲突)
  5. 然后切换到master分支,git merge将本地的local分支内容合并到master分支
  6. git push将master分支的提交上传
    这样历史就是线性的,看起来比较简介,但是merge能够体现出时间线,rebase会打乱时间线。
    git pull = git fetch + git merge
    git pull -r = git fetch + git rebase

merge 过程

git merge dev
解决冲突,打开文件,去掉《《等
git status看一下
git add .
git commit
git push

submodule

添加

  1. git clone 子仓库
  2. git submodule add < url > 路径
    // < url > :指的是子仓库的远程地址 路径:子仓库.git相对于当前的路径

克隆

将远程仓库下载到本地。
git submodule init && git sumodule update

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值