git常用命令

开发步骤

下载远程仓库项目到本地

1.fork公共仓库,到个人远程仓库
2.clone个人远程仓库到本地(关联)(origin),进行开发 ;并关联远程公共仓库(upstream)

若想切换关联,则先删除关联,再重新连接
git remote rm origin
添加远程一个仓库,并命名为pd (可独立连接多个仓库)
git remote add pb https://github.com/paulboone/ticgit

拉取一下,登录账号,获取仓库分支
git fetch https://github.com/paulboone/ticgit (仓库地址)

3.切换到master主分支,拉取远程公共仓库代码(更新到最新代码);
并基于该分支创建任务分支(dev-名字缩写-开发的任务),一个开发分支,做一个任务;
(每个任务分支都应该基于最新的master创建,如果基于某个任务分支去创建新任务分支,则新任务分支会包含之前任务分支中的代码)
git pull upstream master (个人本地仓库更新与主仓库同步)

git checkout master
git pull upstream master
git checkout -b [task-branch]


上传到远程仓库

  1. 先 本地+到暂存区,再 $ git commit -m “feat(prouct): 整理press页面的图片目录及引用”
  2. 提交到个人远程仓库 $ git push origin press:dev-press ——》 提交press分支到远程仓库的dev-press分支中

git commit -m “feat(product): 更新GO PT的内存卡配置”


合并
1.基于远程主仓库的版本分支创建一个版本分支,
git fetch upstream
git checkout -b 版本分支名 upstream/分支名(合并入的分支名)

主线版本 -》v202102-mainline
支线版本 -》v202101-subline-1)

2.版本分支 合并任务分支
git fetch origin
git merge --no-ff --no-commit origin/分支名 (将之前做的任务分支依次合并进来)
若本地分支和远程分支一样,则可以从本地种拉取,
git merge --no-ff --no-commit dev-accessories (本地分支,远程和本地一样,所以也可以拉取本地)
git merge dev-lfn-App
(可以看最新代码和自己的是否存在冲突,若为C,则冲突)

若分支拉取过来存在冲突,则要先解决冲突,解决后commit提交该分支(提交信息在左上框中提供)

提交一个分支后,再继续拉取下一个分支,直到所有的分支依次提交,
最后在版本分支中将所有的提交push到origin中。(则都放在了版本分支中了)

注意:若已创建版本分支(或有人合并了新代码),则拉取最新仓库分支
$ git fetch upstream
$ git merge upstream/v202101-subline-1(分支名)
$ git merge --no-ff --no-commit upstream/v202101-subline-1(分支名)

退出保存合并分支页面: 先按esc ,再按 :wq
(要先合并自己的任务分支到版本分支,再拉取远程仓库更新)

3.提交到个人远程仓库
git push origin v202101-subline-1:v202101-subline-1
$ git push origin lfn:new :把当前的lfn分支提交到origin仓库new分支

4.提交一个Merge request,并入公共仓库
指定个人仓库的版本分支 和 远程仓库对应的版本分支

切换主仓库的分支:
主仓库日志中直接拉取下来后,然后基于某个分支进行修改
刚开始默认为master分支,
git branch -a :查看当前仓库的分支
git checkout app-advertise-refactoring :切换到仓库中的该分支里面
再基于该分支中的内容进行修改
(写日志基于某个分支中写时,即切换主仓库的分支)

$ git status :查看改动
$ git stash :改动缓存起来
$ git stash pop :改动放出

(改动缓存放出后,之前的缓存还是存在的,会保存每次的缓存)
git stash list :查看stash了哪些存储
git stash drop stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲ :丢弃stash@{num}存储,从列表中删除这个存储
git stash clear :删除所有缓存的stash

$ git pull upstream master
$ git pull origin master :拉取远程仓库origin的master分支,并合并到 到当前分支
||
$ git fetch origin (提取远程仓库origin中更新的数据)
$ git merge origin/master (合并origin远程仓库的master分支,合并而自己没有的数据)

$ git fetch upstream
$ git checkout -b v202101-subline-1 upstream/v202101-subline-1
$ git merge --no-ff --no-commit dev-accessories (本地分支,远程和本地一样,所以拉取本地即可)
$ git push origin v202101-subline-1:v202101-subline-1
git merge --no-ff --no-commit origin/202101-mainline
git merge --no-ff --no-commit upstream/v202101-subline-1

常用git命令

git常用命令

$ mkdir abc
$ cd abc/
将项目拷贝到当前目录:
$ git clone https://git.develop.reolink.com.cn/liufn/test.git (关联)
origin 是当你运行 git clone 时默认的远程仓库名字

$ git@git.develop.reolink.com.cn:liufn/test.git (ssh协议的要仓库密码)

$ git clone $ git@git.develop.reolink.com.cn:liufn/test.git abc (将项目内容拷贝到abc目录中,)

打开软件修改项目内容:
$ code .
进入项目目录(初始化了)
$ cd test/
$ git add .
$ git commit -m “修改”

撤销merge
1.使用git merge操作合并代码但还没add时,若想取消这次合并,
使用“git merge --abort”命令即可
2.如果已经 git add了, 则先用 git reflog 指令显示历史的操作
再用 'git reset --hard commit id’就可以回退到操作之前的状态了

若提交有问题,则可以回退
$ git reset --hard HEAD~1 (回退到上一个版本)
回滚一个commit状态。能回到add之后那里。
git reset --soft HEAD^

回滚一个add状态到工作区
git reset HEAD

$ git push origin master (提交到远程仓库origin的master分支)
||
$ git push origin master:master :把本地的master分支 传到 远程仓库的master分支中
$ git push origin master:new :把本地的master分支 传到 远程仓库的new分支中(若没有new分支,则直接创建)
(若是远程仓库中已存在的一个分支,内容可能不相同,可能不能直接push上去)

git status
查看仓库当前的状态,显示有变更的文件。

本地获取远程仓库代码:
1.直接拉取并合并最新代码
$ git pull origin master :拉取远程仓库origin的master分支,并合并到 到当前分支
$ git pull origin dev :拉取远程仓库origin的dev分支,并合并到 当前分支
(最开始clone,内容变化了才能拉取,拉取到更新的内容)

2.获取最新代码到本地,然后手动合并分支
$ git fetch origin master:master1
在本地建立master1分支,并获取远端仓库origin的master分支到master1分支中(省略创建分支,则是获取到当前的分支中)
$ git merge master1
手动合并本地分支master1到当前分支

$ git fetch origin (提取远程仓库origin中更新的数据)
$ git merge origin/master (合并origin远程仓库的master分支,合并而自己没有的数据)
||
$ git pull origin master

查看当前有的分支
$ git branch
创建分支testing
$ git branch testing
切换到分支testing
$ git checkout testing

在某个分支提交后,其他分支中看不到;最后合并到主分支
创建新分支newtest,并切换到该分支
$ git checkout -b newtest
基于该提交点(哈希值)创建b1分支,并切换到b1分支 (若不指定哈希值,则是基于当前提交点创建)
$ git checkout -b b1 a7efedece71f68101093b5f773e7b^Cc2a6b45f8

删除分支testing
$ git branch -d testing

合并分支到主分支
git checkout master :切换到master
$ git merge newtest :将newtest合并到主分支master

退出保存合并分支页面: 先按esc ,再按 :wq

$ git branch -d newtest : 合并后再删除newtest分支

$ git push origin master
合并到主分支后,在主分支中一起提交到远程仓库的

冲突:主分支和分支都提交了同一个文件,文件的内容不同
若合并,则同一个文件内容不同,则可以对该文件进行手动修改,来解决整个冲突。
$ vim runoob.php
$ git add run.php :为run.php文件的冲突已解决
$ cat runoob.php :查看一下最后的内容

与远程仓库建立的连接
1.clone后便是关联了
2.若重新远程关联其他仓库:
git remote add origin git@gitee.com:imnoob/runoob-test.git
3.若想切换关联,则先删除关联,再重新连接
git remote rm origin
git remote add origin git@gitee.com:imnoob/runoob-test.git

4.再添加远程一个仓库,并命名为pd (可独立连接多个仓库)
$ git remote add pb https://github.com/paulboone/ticgit

查看当前连接:
git remote -v

git branch -a:查看本地(同步过来的)和远程仓库的所有分支
git branch -r: 查看远程仓库的所有分支

“origin” 是当你运行 git clone 时默认的远程仓库名字
“master” 是当你本地仓库 默认的起始分支(主分支)名字

对文件的一些操作

ls :查看文件 (提交的+仓库中的)
git log :查看提交历史记录 (q退出)

mkdir :创建目录
$ git rm test.txt :删除test.txt
$ touch runoob.php :创建文件runoob.php
$ vim runoob.php :编辑runoob.php文件内容 insert进行写内容
$ cat runoob.php :查看runoob.php文件的内容

commit -m “feat(product): 整理press页面的图片目录及引用”
feat(product): 产品页面 Reolink Argus 3 增加延时摄影推广信息
feat(product): Reolink Drive 产品页面补充 Support 链接
feat(product): 整理press页面的图片目录及引用
$ git commit -m “feat(product): 整理press页面的图片目录及引用”
$ git push origin press:dev-press 提交 press分支到远程仓库的dev-press分支中

选择使用命令

情况一:更改项目线上的内容
1.本地创建master分支,拉取远程仓库master最新代码,然后进行修改。
2.将本地master修改的部分 合并到 远程master。(不影响远程仓库master上内容,只新增修改内容)
步骤:
(1).切换到本地master,提交修改的代码,
git log 查看复制本次的提交码 (65ccd9b5f8d470f64246d6b6ddd2b82db9e6ab0b)
(2).切换到远程master分支,执行
git cherry-pick 65ccd9b5f8d470f64246d6b6ddd2b82db9e6ab0b(本地的提交码)
(3).在当前的远程master分支上来push到远程仓库master
push origin master

结果:远程master合并了本地修改的内容

情况二:任务分支内容合并到主分支master -—》上线

  1. 切换到本地master分支 —》 git checkout master —》 拉去最新远程master代码—》 git pull
  2. 将任务分支合并进来 —》 git merge test (本地任务分支) —》 若有冲突解决冲突
  3. 运行下效果是否有误(代码内容:远程最新master+任务分支内容)
  4. 合并到远程主仓库 —》git push origin master

结果:任务分支代码上线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值